php 7 忽略 ini 文件,但声称加载

php 7 忽略 ini 文件,但声称加载

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重新加载。

相关内容