httpd 重启后,Opcache 忽略 php.ini 中的某些设置

httpd 重启后,Opcache 忽略 php.ini 中的某些设置

我最近将我的 Centos 6、Apache 服务器从 5.4 更新到 php 5.6,并且正在尝试配置 opcache。

我已将 opcache 设置更新为/etc/php.ini

[opcache]
opcache.revalidate_freq = 0
opcache.validate_timestamps = 0
opcache.max_accelerated_files = 12000
opcache.memory_consumption = 256
opcache.interned_strings_buffer = 16
opcache.fast_shutdown = 1

然后跑service httpd restart

该函数opcache_get_configuration()告诉我它已更改以下内容:

 [opcache.validate_timestamps] =>
 [opcache.revalidate_freq] => 0
 [opcache.fast_shutdown] => 1

但以下内容保持不变:

 [opcache.memory_consumption] => 134217728 // or 128 mebibytes
 [opcache.interned_strings_buffer] => 8
 [opcache.max_accelerated_files] => 4000

我如何让 opcache 考虑这些偏好?

答案1

事实证明我有另一个文件/etc/php.d/10-opcache.ini明确设置了未改变的设置。

显然,这些正在覆盖我的新/etc/php.ini设置。

将所有我想要的 opcache 配置移至/etc/php.d/10-opcache.ini似乎已成功。此外,还有一些关于每个设置功能的有用注释。

相关内容