Zend OPcacheを開発環境で無効にする

opcache.enableはPHP_INI_ALLなのでプログラム内でも設定の変更が可能

開発環境のwordpressでopcache無効化

ネイティブキャッシュを行うとパフォーマンスがUPするが、

開発時には無効にしておいたほうがデバッグ時にキャッシュの値を確認してしまうなどのミスを事前に防ぐことができるため、開発環境ではopcodeを無効に設定する方法をエントリーしてみたい。

本番環境と開発環境で一つのwordpressを共有する場合は、以下のコードをwp-config.phpに追記する。

if( strpos($_SERVER['HTTP_HOST'], 'dev.') !== false )
{
    ini_set('opcache.enable', 0);
}

上のコードは、リクエストしたURLのドメイン名にdev.というサブドメインが付いている場合はopcacheを無効化している。この方法で、テーマの作成やプラグインの開発時にはネイティブキャッシュを回避し、常時最新の更新が反映されるようになる。

wp-config.phpなどの一部のファイルはキャッシュされるためOpcache Control Panelなどでファイルがキャッシュされていないか気にしておく必要がある。

参考

OPcacheコンパネの設定

バーチャルホストごとにキャッシュの有無を設定する方法

apacheのhttpd.conf VirtualHostディレクティブ内でopcacheをオフにすることが可能。

php_flag opcache.enable 0

php.iniでopcacheを有効にしておいても、上の設定を書いておけば、そのバーチャルホストについては、opcacheが機能しなくなる。本番環境と開発環境をバーチャルホストで分割する場合には、この方法も利用できる。

Webエンジニアブログにコメント

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

Zend OPcacheを開発環境で無効にするの記事にコメントを投稿