我们有一个非常古老的PHP应用程序需要运行PHP 4.我们要退役旧服务器,所以我在新服务器上构建了PHP 4(Ubuntu 13.04 32位).当我这样做时,./configure我确保做到了--with-config-file-path=/etc/php4/php.ini.我正在尝试启用错误日志记录,但我的更改php.ini似乎没有抓住.
是的,该文件存在并由Apache用户拥有
nick@server:/etc/php4$ ls
php.ini
Run Code Online (Sandbox Code Playgroud)
是的,我重新启动了Apache.是的,它显示在phpinfo():
Configuration File (php.ini) Path /etc/php4/php.ini
Run Code Online (Sandbox Code Playgroud)
是否--with-config-file-path只在编译时保留,因此为了进行更改,我必须重新编译?或者它与新版本的PHP一样工作?
例如,在php.ini我已经关闭display_errors,但phpinfo()显示:
display_errors On
Run Code Online (Sandbox Code Playgroud)
请注意,它显示On此服务器的本地值和主值.
另外,我很抱歉让PHP 4永久存在
--with-config-file-path需要一个目录,而不是文件名。因此,根据您的配置,PHP 会寻找/etc/php4/php.ini/php.ini.
背景:采用路径的原因是事实上 PHP 正在按顺序查找不同的文件:首先是 SAPI 特定文件php-$SAPI.ini,然后是通用php.ini. 这允许在 CLI 上使用不同的配置,其中初始启动时间更重要并且需要其他缓存设置(apc 等)。