Se la soluzione di Jeremy Morgan non funziona, provare a creare il tuo file di registro utilizzando set_error_handler()
. Di solito alcune informazioni sullo stato dell'applicazione ($ GLOBALS e così via) possono essere informazioni sufficienti, ma PHP (almeno cercherò di passare) ogni tipo di informazione su dove si è verificato l'errore e che tipo di errore è.
Inoltre, provare a utilizzare il metodo di debug "Divide And Conquer". Inizia con circa la metà del tuo file, quindi espandi verso l'alto se si blocca ancora o verso il basso se viene eseguito fino a quel momento. Se non si desidera rimuovere il codice, /* comment out */
il codice da tagliare o utilizzare la direttiva speciale __halt_compiler()
per fare in modo che PHP ignori tutti i dati rimanenti nel file.
Infine, una cosa che mi ha fatto impazzire nel tentativo di risolverlo è quello che si chiama Byte Order Mark. PHP stava valutando quella BOM all'inizio del file, causandone l'invio e causando problemi durante il tentativo di inviare intestazioni e simili. Probabilmente non è quello che è il tuo problema, ma la conoscenza vale la pena avere.
Controllare anche i permessi dei file. Spesso se un file non è eseguibile genererà un errore 500. –