php - PHP 的启动顺序涉及哪些内容?

标签 php apache

关于 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/

相关文章:

php - MySql 错误 : cannot connect to local MySql server through socket '/var/run/mysqld/mysqld.sock' (2), 而其他页面连接正确

java - 如何以编程方式比较两个基于视觉差异的 PDF?

php - 没有这样的文件或目录 : AH02291: Cannot access directory '/usr/logs/' for main error log AH00014: Configuration check failed

php - 解析 json 错误 : SyntaxError: JSON. 解析:JSON 数据的第 1 行第 2 列出现意外字符

apache - AWS Elastic Load Balancer 对特定端点的 SSL 支持

mysql - node.js/express/mongodb 而不是 apache/mysql?

php - htaccess 多个文件的 301 重定向

php - jQuery ajax 和 append - 内容太大?

php - 来自 WooCommerce REST API 的 "cannot list resources"错误

javascript - 如何在我的案例中创建加载屏幕