GattsCOM

ブログ

BLOG

  1. Home
  2. Blog
  3. #PHP

LaravelでQRコードを生成、作成する

PHPを5.3から5.4にアップデートしたらMySQLが接続できなくなった時の対処

Laravelフレームワークを使用しようと、古いサーバーに開発環境入れようと思いPHPのバージョンを調べたらPHP5.3.3だった。Laravel4.2を入れようと思ったら、PHP5.4以上だったのでPHPのバージョンをアップデートした。その際に、MySQLもアップデートされてMySQL5.1.73から5.5.62になった。ここで、PHPは問題なく動いてたけどMySQLで接続エラーが出ていて結構ハマっちゃいまいた。↑のエラーが出ていたので、グーグル先生に聞いてみたらmysql.sockがないよと言われる/var/lib/mysqlの中を確認するmysql.sockが確かに無い。ということで、mysql.sockをとりあえず作る。mysql.sockが出来たので、再度確認するお?次は()の中が2 → 111になったぞ?調べてみると、ソケットエラーらしい。パーミッションを見て変更してみる。再度試したけど接続エラーが消えない(111のまま)うーん・・・・・エラーを見てみようお、なんかエラー上がってるやんちょっと調べてみるとMySQLのアップデートしたバージョンで'default-character-set=utf8'は使えないよ!って怒られてるらしいそれじゃなくて、character-set-server=utf8を使ってね!ってどこかに書いてました。my.cnfの設定を変更する保存して、mysqlサーバーをリスタートしたら、無事に起動してくれました。ハマって3時間も悩んでしまった・・・勿体無いT_T

空の配列を取り除く?~「array_filter」と「array_values」を組み合わせる~

こんにちわ!プログラマーのどっぴーです^^現在開発中のツールで、簡単に導入できて感動した!関数をご紹介します。今回使ったphpの関数は、「array_filter」「array_values」です。テキストエリアの入力値を取得し、改行ごとに配列に分ける、という処理を組んでいる時のこと。空白行があった場合に後の処理で不具合が起こることに気が付きました。以前に学習した「配列の中身が空の部分を削除するarray_filter」を使えば、たった1行のコードで不要箇所を削除できるのでは?と考えいざ実験。検証のため、テキストエリア内の3行目に、なにも入力をせずに改行している箇所を用意しました。「array_filter」を適用し、$new_arrayの中に格納します。不要な空項目は消えてくれましたが、配列のキーが連番になっていません。今回開発中のツールでは配列のキーを取り出して処理をする必要がありました。キーの再割り振りが可能なのか調べたところ、「array_values」の関数を発見しました。array_valuesは「配列の値をすべて取り出す」という処理を行なっているんだとか。既存のキーを無視して、データの数だけ数字キーを振り直すそうです。連想配列の場合、(文字列の)キーはどうなるのか検証。もともと設定していたキーを無視して「0」から振り直しが行われました。なるほどなー。改行区切りのデータの取り扱いって、何かしら使う機会があると思います。今回紹介した2つの関数を使えば、エラーを出さずにスルーできるので、ユーザビリティ向上にも繋がります!ぜひ導入してみましょう。入力の際に「データが不正です!」みたいなバリデーションエラーを出すと、使う側からすると煩わしいですしね。ではまた~(;´∀`)ノ

Laravel クエリビルダ インクリメント処理

記事をもっと見る