インストール手順

OPcache のインストール手順は、どのバージョンの PHP を実行しているかによって異なります。 詳細は以下の適切なセクションを参照してください。

注意:

OPcache を » Xdebug と一緒に使う場合は、OPcache を Xdebug より前にロードさせなければいけません。

PHP 5.5.0 以降の場合

OPcache は共有ライブラリ形式の拡張モジュールとしてしかコンパイルできません。 --disable-all を指定してデフォルトでコンパイルされる拡張モジュールを無効にしている場合は、OPcache が利用可能になるように --enable-opcache オプションを使って PHP をコンパイルしなければいけません。

いったんコンパイルすると、zend_extension 設定ディレクティブを使って OPcache を PHP にロードできます。これは zend_extension=/full/path/to/opcache.so という設定で行えます。Windows の場合は zend_extension=C:\path\to\php_opcache.dll を使います。

PHP 5.2, 5.3, 5.4 の場合

この » PECL 拡張 モジュールは PHP にバンドルされていません。

この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 » http://pecl.php.net/package/ZendOpcache.

この PECL 拡張モジュールの DLL は、現在存在しません。 Windows でのビルド も参照ください

推奨される php.ini の設定

良好なパフォーマンスを得るために、一般的に推奨される設定は次の通りです。

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

opcache.save_comments を無効にし、 opcache.enable_file_override を有効にしたいと思うかもしれませんが、この設定を行う前に実運用環境であなたのコードを必ずテストするようにしてください。なぜなら、この設定は特にドキュメント向けのコメントやアノテーションを使っている場合に、既存のフレームワークやアプリケーションが壊れることが既知の現象としてあるからです。

OPcache がサポートしている設定ディレクティブの完全なリストは 実行時設定 のページにあります。

add a note add a note

User Contributed Notes 6 notes

up
18
NoiseEee
3 years ago
While the "suggested" opcache settings for php.ini might be appropriate for a production server, you're going to want to change several while you're developing, or you're not going to see any changes to your code. Get familiar with what they mean before blindly pasting that into php.ini and assuming things are going to work well.
up
-2
dosercz
4 years ago
For me works (on windows) only filename without path (default extensions dir path is used)
zend_extension=php_opcache.dll
up
-6
Alex Stanciu
3 years ago
In case anyone has segfaults when using Xdebug with OpCache (even after updates, Xdebug after OpCache or other desperate strategies).
1. Disable OpCache from beeing loaded
2. Install/Enable APCu
Should be ok for a development box. On the production box you should use OpCache without Xdebug (as Xdebug slows down PHP ~3x - on our apps at least).
up
-13
matthias at himalayasystems dot be
3 years ago
I had a problem with installing on php 5.4 through pecl

I used
pecl install ZendOpache-beta
To force the install of the beta version

When restarting, php could not find opcache.so
Use the absolute path when assigning zend_extension.
So change zend_extension=opache.so
to
zend_extension=/usr/lib64/php/modules/opcache.so
up
-7
rwilson0429 at yahoo dot com
8 months ago
Yes, as ohcc at 163 dot com explained, putting the zend_extension directive  in the [php] section of php.ini worked for me.

[php]
engine = On
zend_extension=php_opcache.dll
up
-26
ohcc at 163 dot com
2 years ago
The zend_extension directive should be placed in the [php] section of php.ini otherwise it won't work.

Right configuration example

[php]
engine = On
zend_extension=php_opcache.dll

WRONG configuration example

[opcache]
zend_extension=php_opcache.dll
To Top