I have a somehow funny issue.
While trying to understand why a certain website returns http code 500 to browser, I found the message
PHP Fatal error: Class 'MZ\\MailChimpBundle\\Services\\Exception' not found in /var/www/website/vendor/bundles/MZ/MailChimpBundle/Services/MailChimp.php on line 41
in apache log.
Looking at the mentioned line:
throw new Exception('This bundle needs the cURL PHP extension.');
I now understand how to get the site working, but I still wonder why the code for throwing the exception (which would have resulted in a more helpful log message) failed.
What could be the reason?
The MZMailChimpBundle does not contain a class named
Exceptionwithin theMZ\MailChimpBundle\Servicesnamespace.Because of that simple fact and as the error message that the exception should signal is related to an integration problem (check for the curl library) I assume that this is a bug.
The original has meant
\Exceptionand notExceptionhere. It’s a somewhat common mistake that can happen with namespaces. To fix the file, either alias/import\ExceptionasException:and/or change the
newline inMZMailChimpBundle/Services/MailChimp.php:See as well the related question: How to use “root” namespace of php? and the one with the same Class ‘Namespace\Example’ not found error message: Calling a static method from a class in another namespace in PHP.