PHP

MAMP で動かしている PHP ファイルが更新されない

WordPress を勉強するために、MAMP 2.2 でローカル環境を作成しています。ですが、PHP ファイルの内容を変更後、ブラウザの更新をしても内容が古いままで、困ってしまいました。

原因は、OPCache という PHP 5.5 から導入された PHP の高速化、CPU 負荷を軽減するための拡張モジュールが原因のようです。こちらのキャッシュ間隔を短くすれば解決します。

OPCache のキャッシュ間隔を短くする

以下にある、php.ini ファイルを開きます。php のバージョンは、ご自身の環境に合わせて適宜変更します。

/Applications/MAMP/bin/php/php5.5.3/conf/php.ini

この1090行目付近にある以下の項目を 60 → 1 にします。

opcache.revalidate_freq=60
↓
opcache.revalidate_freq=1

編集後、MAMP の「サーバを停止」→「サーバを起動」すれば、PHP ファイルの内容を変更後、即反映されるようになります。

参考:PHPソースの変更が反映されないときはOPcacheを疑え by @armorik83 on @Qiita