Display_errors 和 Strict_types 导致500 Error 内部服务器错误

PHP 7 中将 display_errors 与 strict_types 结合使用时会出现问题,导致 500 内部服务器错误。

出现问题的原因可能是我们在设置 display_errors 时使用了整数。

要正确打开错误,请在编写任何其他代码之前将以下内容放在脚本顶部:

<?php declare(strict_types=1);
opcache_invalidate(__FILE__, true);
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(-1);

为什么会出现 500 Error

出现问题是因为我们在尝试从 PHP 脚本中打开错误时使用的是整数而不是字符串。

ini_set 函数需要一个字符串值,可能是因为它正在修改配置文件值。
通常 PHP 不会使用严格的类型检查,这就是它仍然使用整数的原因。

以下内容无法按预期工作:

declare(strict_types=1);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
日期:2020-06-02 22:17:35 来源:oir作者:oir