International PHP Conference Berlin 2025

Установка

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 смотрите тут.

Добавить

Примечания пользователей 2 notes

up
36
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
21
stchr
3 years ago
Please note that opcache.fast_shutdown was removed in PHP 7.2
To Top