ITblog

MacのOSアップデート後にphpで不具合が起こる場合の対処法

2016年01月27日

MacのOSアップデートを行うと、自身のMac上に構築していたサーバ環境が動かなくなる場合がありましたので、対処法のメモです。

まず、私のケースでいうと、不具合が起きたのが、PHP+MySQLのサイトです。
(EC-CUBEサイトを構築)

アップデート前は動いていたのが、アップデート後には画面が真っ白になるなどのエラーが起きるようになってしまいました。

私の場合、EC-CUBEでのエラーだったので、EC-CUBEのログファイルを確認

/data/logs/error.log

確認すると、以下のようなエラーが起きていました。

Fatal error(E_USER_ERROR): DB処理でエラーが発生しました。
SQL: [SET SESSION storage_engine = InnoDB]
PlaceHolder: [array (
)]
MDB2 Error: connect failed
_doConnect: [Error message: No such file or directory]
[Native code: 2002]
[Native message: No such file or directory]

要は、DB接続に関するエラーです。

ここで、ネットでいろいろと調べてみたのですが、トラブルシューティングのポイントとしては、

MACは、OSアップデート時に各種設定ファイルを初期化するが、バックアップはとっている

ということです。
具体的には、今回のケースでいえば

Apacheの設定ファイルである「httpd.conf」「php.php」を、アップデート前のファイルと比較します。

ターミナルから、以下の方法で差分を確認できます。

httpd.confの場合

diff /etc/apache2/httpd.conf /etc/apache2/httpd.conf.pre-update

差分の部分を、httpd.confに追加してやります。

php.iniの場合

php.iniは、まず、アップデートするとそもそもphp.iniがなくなっているので、作成から入ります。

cp /etc/php.ini.default /etc/php.ini

これでphp.iniが作成されるので、あとは差分を比較します。

diff /etc/php.ini /etc/php.ini-◯.◯-previous

差分をphp.iniに適用してやります。

これで設定が同じになるので、アップデート前動いていたのであれば動くようになるはずです。

適用した後、

sudo apachectl restart

でapacheを再起動するとOKです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です