13

希望你做得很好,我正在从事一个几个月以来我没有从事过的 Laravel 项目,并且发现每当引发异常时,我都会收到以下错误:

[2021 年 1 月 15 日星期五 15:51:11] PHP 致命错误:未捕获的错误:调用 /var/www/html/project/vendor/filp/whoops/src/Whoops/Exception 中的未定义函数 Whoops\Exception\xdebug_is_enabled() /Inspector.php:254

堆栈跟踪:

#0 /var/www/html/project/vendor/filp/whoops/src/Whoops/Exception/Inspector.php(175): Whoops\Exception\Inspector->getTrace()
#1 /var/www/html/project/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php(280): Whoops\Exception\Inspector->getFrames()
#2 /var/www/html/project/vendor/filp/whoops/src/Whoops/Handler/PrettyPageHandler.php(197): Whoops\Handler\PrettyPageHandler->getExceptionFrames()
#3 /var/www/html/project/vendor/filp/whoops/src/Whoops/Run.php(296): Whoops\Handler\PrettyPageHandler->handle()
#4 /var/www/html/project/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(345): Whoops\Run->handleException()
#5 /var/www/html/project/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(324): Illuminate\Foundation\Exceptions\Handler->renderExceptionWithWhoops()
#6 /var/www/html/project/ in /var/www/html/project/vendor/filp/whoops/src/Whoops/Exception/Inspector.php on line 254

有没有人以前见过这个错误并且知道修复它的方法?预先感谢。

4

2 回答 2

27

原来我遇到了这个问题,发现只需将 "filp/whoops": "^2.0" 更新为 "filp/whoops": "^2.9" 问题就解决了。

于 2021-01-15T21:21:37.720 回答
4

如果您在 2.9 之前运行任何版本的“filp/whoops”,则 sudo pecl install -f xdebug-2.9.8 安装以前的版本,因为 xdebug 3 及更高版本删除了函数 xdebug_is_enabled。https://xdebug.org/docs/upgrade_guide

然后将“zend_extension=/usr/lib/php/20190902/xdebug.so”添加到php.ini

“filp/whoops”:“^2.9”应该能够支持 xdebug 3,因为它检查 xdebug_is_enabled 是否存在,因为 2.9.1 正在检查 xdebug_is_enabled 函数 https://github.com/filp/whoops/compare/2.9。 0...2.9.1 https://github.com/filp/whoops/commit/dc30a4cb68b45a5fb65e190cf0a6b58d3d3ef096

如果您已经在 php.ini 中添加了 zend_extension=/usr/lib/php/20190902/xdebug.so" ,请在安装 xdebug-2.9.8 之前将其删除,因为它会导致安装错误

也不要只是在 composer.lock 中更改包的版本,它实际上不会更改包版本,因为文件下载链接也在 composer.lock 中。

于 2021-03-17T17:05:53.607 回答