关于 display_startup_errors
,PHP 手册指出,即使 display_errors
打开,PHP 启动序列期间发生的错误也不会显示。那么PHP的启动顺序是什么意思呢?它涉及什么,可能会出现什么样的错误?一些常见的例子可能会有所帮助。
最佳答案
您将看到的最常见的错误类型将被 display_startup_errors
抑制,这些错误类型与 PHP 无法加载模块或由于各种原因发出错误消息的模块有关。
例如:
PHP Warning: PHP Startup: Unable to load dynamic library '/path/to/module.so' - /path/to/module.so: cannot open shared object file: No such file or directory in Unknown on line 0
这意味着 PHP 配置为加载 module.so
但未找到它,因此无法加载。
由于 ini 配置值错误,模块也可能会发出警告:
PHP Warning: PHP Startup: session.name cannot be a numeric or empty '' in Unknown on line 0
这是 session 扩展发出的几个警告之一,在本例中是因为 session.name
的配置值为数字或空。
大多数 PHP 的启动序列将围绕配置自身、加载动态模块、调用每个模块的 GINIT 和 PHP_MINIT_FUNCTION
以便它们可以初始化,然后运行 PHP 的启动序列。
这些事情发生的方式和时间取决于 PHP 运行的服务器 API。对于 Apache,这可能是 Apache 模块、FPM、CGI/FastCGI。
讨论此问题的一些很好的引用资料是:
关于php - PHP 的启动顺序涉及哪些内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46164736/