Ubuntu 16.04、Lighty 1.4.35、PHP 7.0.4-7ubuntu2(在 Hyper-V VM 中)
我浏览了有关 php.ini 的所有(或至少许多)其他问题。
无论我为任何指令设置什么值,ini_get 都不一定返回该值。而且 php 的行为似乎与它们都无关。
- 尽管默认情况下处于开启状态,但浏览器中没有错误消息
display_errors
。(php_info 在浏览器和 CLI 上显示“关闭”) error_reporting
尽管排除的默认值,但完整的错误消息(包括通知)都会在 CLI 上列出并写入服务器日志E_NOTICE
。 (并且无论我在任何 php.ini 文件中输入什么,php_info 都会显示默认值)- 所有消息都写入 lighttpd/error.log,尽管
log_errors
默认情况下处于关闭状态。无论我将其设置为什么):php_info() 表示它处于打开状态。
php -h 告诉,php -c <path>|<file>
可用于更改 ini 文件路径。使用 PHP CLI 调用 info.php
- 没有其他参数:配置文件路径:CLI,加载的配置文件:CLI
- 其中
-c /etc/php/7.0/fpm/ini.php
:文件路径:CLI,已加载:(无) - 使用
-c /etc/php/7.0/fpm/
:文件路径:(仍然!!)CLI,已加载:FPM
一切在我的旧机器上运行良好(Ubuntu 14.04.4、Lighty 1.4.33、PHP 7.0.7-4+deb.sury.org~trusty+1);但我在 PHP 7 ChangeLog 中找不到任何可以解释我的问题的内容。
当我逐一检查其他包含的 ini 文件时,有什么想法吗?
答案1
简单grep -n error_reporting
看一下 ini 文件就能发现一切:
error_reporting 默认、开发和生产设置在 php.ini 的第 105 行左右描述。
我在第 111 行添加了我的设置。
并且下面 300 多行的设置已经覆盖了我的设置。
倾斜
答案2
如果 php-fpm 作为守护进程运行,请重新启动它以重新加载 php.ini
答案3
这可能很愚蠢,但我在 AWS 上,我必须重新启动实例才能php.ini
重新加载。