phpを5.4へバージョンアップしたらmysqldが起動しなくて焦った

PPW_memori
composerを使おうと思ったら、PHPが古過ぎって言われたので、
PHPのバージョンを5.3から5.4にバージョンアップしたら、
データベース確立エラーになって困ったので解決方法と
その流れを書いていきます。

myqldが立ち上がらない

mysqld_safe mysqld from pid file /mysqld.pid ended

…

[ERROR] /mysqld: unknown variable 'default-character-set=utf8'

mysqld.pid endedが最初に出てて、
最後の方に/mysqld: unknown variable 'default-character-set=utf8'が出てました。

ずっとmysqldの方ばっか気にしてたんですが、
最近のmysqlだとdefault-character-set=utf8は使えないらしいんですね。
MySQL 5.5ではdefault-character-setが廃止されてた…

my.cnfの変更

なので、my.cnfのmysqldのとこの
default-character-set=utf8これをコメントアウトして
character-set-server=utf8に変更したところ

service mysqld start

これで無事起動しました。

PHPのバージョンアップで参考になった記事

参考記事
Logとか載ってて丁寧だったのでコチラの記事で5.4へバージョンアップしました。
qiitaの方でも紹介してるので、こっちのがもしかしたら良いかも知れませんね。

私が見た記事の方はphpの5.4アップロードする分には問題なかったです。
ただこれをそのままやると、sessionの方でエラーが出るようです。

libの中のsessionがchmod 775 になってるので 777 にすると良いそうです。

ただ、おそらくは PHP をアップデートしたときに設定される権限の方が安全のように思うので、可能であれば Apache での実行権限を調整するなど、何らかの方法で、PHP セッション情報を保存するためのディレクトリーに 775 権限でも書き込めるように調整するのが良いかもしれません。
mod_ruid を利用している場合は Apache の RUidGid や RGroups の設定を見直して、セッション情報を格納するディレクトリーへの書き込みがそのアカウントで行えるように調整できるか検討するのも良いでしょう。

PHP のセッション処理でエラーになるから引用
ということなので、余裕がある方はapacheの設定をしてみてください。

スポンサーリンク

この記事が気に入ったら
フォローしよう

最新情報をお届けします

おすすめの記事