Centos6
如何通過 Ansible PHP 角色覆蓋之前定義的 PHP 值?
我正在嘗試使用以下行(作為配置腳本的一部分)通過geerlingguy 的 Ansible Role for PHP
opcache.max_accelerated_files
將覆蓋 PHP 的設置應用到geerlingguy/centos6的 VM 上: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
行),因此 OPcache 被禁用。如何使用 PHP 的 ansible 角色更改 PHP 設置,以便正確應用設置,這將覆蓋以前的值?
我認為這是因為
10-opcache.ini
按opcache.ini
字母順序排列,這與載入順序有關。所以配置opcache.ini
是最後一個應用的。您可以將文件名更改為類似
zzz-opcache.ini
或我喜歡的方式zzz-custom.ini
在一個文件中添加所有自定義配置。另一方面,為什麼你會有兩個用於 opcache 的文件?你能把它們合二為一嗎?