Назад | Перейти на главную страницу

Как переопределить ранее определенное значение PHP через роль Ansible PHP?

Я пытаюсь применить переопределение 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? вы можете объединить их в один?