gpt4 book ai didi

php - 无法设置错误处理程序以在PHP-8中引发ErrorException

转载 作者:行者123 更新时间:2023-12-02 19:44:45 27 4
gpt4 key购买 nike

我的脚本具有以下代码:

set_error_handler(function(int $severity, string $message, string $filename, int $lineNumber) : void {
throw new ErrorException($message, 0, $severity, $filename, $lineNumber);
});

function test() : string {
return $test;
}

test();
在PHP 7.3.11上(在macOS 10.15.7上)运行脚本按预期工作,并显示以下内容:

Fatal error: Uncaught ErrorException: Undefined variable: test in.../index.php:9 Stack trace:

#0 .../index.php(9): {closure}(8, 'Undefined varia...', '...', 9, Array)

#1 .../index.php(12): test()

#2 {main}

Next TypeError: Return value of test() must be of the type string,null returned in .../index.php:9Stack trace:

#0 .../index.php(12): test()

#1 {main} thrown in .../index.php on line 9


但是在PHP-8( php:8.0.0rc1-apache docker镜像)上,它陷入了循环,什么也不显示。
虽然删除 set_error_handler可以工作

Warning: Undefined variable $test in .../index.php on line 9

Fatal error: Uncaught TypeError: test(): Return value must be of type string, null returned in .../index.php:9

Stack trace:

#0 .../index.php(12): test()

#1 {main}thrown in .../index.php on line 9


这是错误,还是新版本中有更改?我在PHP CLI btw上尝试过。

最佳答案

正如评论中指出的那样,这确实是一个错误,已经在第二版本候选版本(PHP-8.0.0 RC2)中得到解决。

关于php - 无法设置错误处理程序以在PHP-8中引发ErrorException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64247365/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com