Ho un problema in qualche modo divertente. Durante il tentativo di capire perché un certo sito web restituisce il codice HTTP 500 al browser, ho trovato il messaggioPHP "Eccezione non trovata"
PHP Fatal error: Class 'MZ\\MailChimpBundle\\Services\\Exception' not found in /var/www/website/vendor/bundles/MZ/MailChimpBundle/Services/MailChimp.php on line 41
nel log di Apache. Guardando la linea menzionata:
throw new Exception('This bundle needs the cURL PHP extension.');
io ora capire come ottenere il funzionamento del sito, ma ancora mi chiedo il motivo per cui il codice per gettare l'eccezione (che avrebbe comportato un messaggio di log più utili) non è riuscita. Quale potrebbe essere la ragione?
La definizione di classe manca, è solo una classe non trovata. Controlla se le fonti contengono il file vero e controlla se il caricatore automatico è configurato correttamente. Poiché questo è correlato all'integrazione, potrebbe essere che questo non sia stato completamente testato dal fornitore e che fosse usato '\ Exception' (nativo, classe globale' Exception' di PHP). – hakre
ma come può fallire se c'è una classe globale con quel nome? Una chiamata alla classe Exception globale sarebbe diversa da questa linea? (Io non sono un professionista di PHP, quindi forse non ho conoscenze di base qui) –
Sì, sembrerebbe: 'lanciare new \ Exception ('Questo bundle ...' come quella linea è namespace. Probabilmente vale la pena di controllare prima se esiste questa classe di eccezioni all'interno del codice del bundle, in caso contrario segnalare un bug per quel pacchetto – hakre