Я пытаюсь применить переопределение PHP opcache.max_accelerated_files
настройка через Ansible-роль geerlingguy для PHP на geerlingguy / centos6ВМ, используя следующие строки (как часть сценария подготовки):
php_opcache_enabled_in_ini: false
php_opcache_enable_cli: 1
php_opcache_max_accelerated_files: "4096"
Кажется, это работает (как 10-opcache.ini
создается в /etc/php.d
) так как:
opcache.enable=1
opcache.enable_cli=1
opcache.max_accelerated_files=8192
однако этот параметр все еще не отменен для PHP:
$ php -i | grep opcache.max_accelerated_files
opcache.max_accelerated_files => 4000 => 4000
Это потому что opcache.ini
уже установлены эти настройки:
$ grep ^opcache.max_accelerated_files opcache.ini
opcache.max_accelerated_files=4000
и почему-то это имеет приоритет перед 10-opcache.ini
.
Я пытался изменить по умолчанию php_opcache_conf_filename
к opcache.ini
, но потом 10-opcache.ini
было переопределено и стерто предыдущее содержимое (включая zend_extension=opcache.so
line), поэтому OPcache отключился.
Как изменить настройку PHP, используя доступную роль для PHP, чтобы настройка применялась правильно, что переопределило бы предыдущее значение?
Я думаю это потому что 10-opcache.ini
раньше opcache.ini
в алфавитном порядке, который соответствует порядку загрузки. Итак, конфигурация opcache.ini
применяется последним.
Вы можете изменить имя файла на что-то вроде zzz-opcache.ini
или мой предпочтительный способ добавить zzz-custom.ini
со всеми вашими пользовательскими конфигурациями в одном файле.
С другой стороны, зачем вам два файла для opcache? вы можете объединить их в один?