PHP"未找到例外"

did*_*_X8 15 php exception

我有一个有趣的问题.在试图理解为什么某个网站将http代码500返回给浏览器时,我找到了该消息

PHP Fatal error:  Class 'MZ\\MailChimpBundle\\Services\\Exception' not found in /var/www/website/vendor/bundles/MZ/MailChimpBundle/Services/MailChimp.php on line 41
Run Code Online (Sandbox Code Playgroud)

在apache日志中.看看上面提到的那一行:

throw new Exception('This bundle needs the cURL PHP extension.');
Run Code Online (Sandbox Code Playgroud)

我现在明白了如何使网站正常工作,但我仍然想知道为什么抛出异常的代码(这会导致更有用的日志消息)失败.可能是什么原因?

hak*_*kre 36

MZMailChimpBundle不包含名为类Exception的内部MZ\MailChimpBundle\Services命名空间.

由于这个简单的事实以及异常应该发出的错误消息与集成问题(检查curl库)有关,我认为这是一个错误.

原来意味着\Exception而不是Exception在这里.这是命名空间可能发生的一个常见错误.要修复该文件,请将别名/导入\ExceptionException:

namespace MZ\MailChimpBundle\Services;
use Exception;
Run Code Online (Sandbox Code Playgroud)

和/或更改以下newMZMailChimpBundle/Services/MailChimp.php:

throw new \Exception('This bundle needs the cURL PHP extension.');
Run Code Online (Sandbox Code Playgroud)

另请参阅相关问题:如何使用php的"root"命名空间?并且找不到具有相同类'Namespace\Example'的错误消息:从PHP中另一个命名空间中的类调用静态方法.