Установка

OPcache можно собирать только как разделяемый модуль. Если вы запретили сборку модулей по умолчанию с помощью --disable-all, то вам будет необходимо компилировать PHP с ключом --enable-opcache для включения OPcache.

Единожды скомпилировав, вы можете использовать директиву конфигурации zend_extension для загрузки OPcache в PHP. Это можно сделать с помощью zend_extension=/full/path/to/opcache.so для платформ, отличных от Windows, и zend_extension=C:\path\to\php_opcache.dll в Windows.

Замечание:

Если вы хотите использовать OPcache с » Xdebug, то сперва нужно загружать OPcache, а потом Xdebug.

Рекомендованные настройки php.ini

Данные опции рекомендованы для обеспечения хорошей производительности:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1 ; до PHP 7.2.0
opcache.enable_cli=1

Вы также можете рассмотреть возможность отключения opcache.save_comments и включения opcache.enable_file_override. Однако обратите внимание, что вам придётся протестировать свой код, прежде чем использовать его в промышленной эксплуатации так как известны случаи, когда некоторые фреймворки и приложения переставали работать, особенно в случае использования аннотаций в комментариях.

В Windows должен быть включён параметр opcache.file_cache_fallback и opcache.file_cache должна быть установлена на уже существующий и доступный для записи каталог.

Полный список опций настройки OPcache смотрите тут.

add a note add a note

User Contributed Notes 3 notes

up
8
stchr
3 years ago
Please note that opcache.fast_shutdown was removed in PHP 7.2
up
24
NoiseEee
10 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
-13
ijf8090 at gmail dot com
3 years ago
find the location of your php.ini file by typing
php -i | grep php.ini

Restart your web server to activate your changes
in my case
sudo /usr/sbin/apachectl restart
To Top