2010-02-19 21 views
8

Sto eseguendo l'ultima versione di MAMP su Snow Leopard.Guida di MAMP Config, visualizza errori PHP

Il mio file php.ini è stato configurato per visualizzare errori. display_errors = on. Il phpinfo(); la pagina mostra lo stato della segnalazione degli errori, è attiva. Ho riavviato il mio server web diverse volte.

Ho cercato attraverso Google e non riesco a trovare alcun problema simile. Tutti dicono solo di fare esattamente quello che ho fatto, ma non funziona. Le pagine rimarranno vuote, (senza report), se inserisco intenzionalmente degli errori.

Qualche idea su quale potrebbe essere il problema?

+0

Come hai fatto a risolverlo, io ho lo stesso problema. :( – kai

risposta

28

Per eventuali manifesti futuri che corrono in questo problema ...

ho avuto lo stesso problema e ha scoperto che stavo facendo modifiche ai file php.ini sbagliato. Esegui phpinfo e trova il percorso del file php.ini attivo per assicurarti di modificare quello corretto.

Sulla mia installazione di mamp c'erano più istanze della directory/conf con i file php.ini. I file php.ini di cui avevo bisogno si trovavano nella directory/bin/php/php [versione #]/conf e non nella directory MAMP/conf.

Percorso esatto per il php.file ini avevo bisogno di modificare:

Applicazioni/MAMP/bin/php/php5.4.10/conf/php.ini

Change display_errors = Off a display_errors = On

+0

Anche questo ha risolto lo stesso problema per me Molte grazie – GhostRider

+4

Inoltre, assicurati di riavviare il server quando apporti una modifica al file php.ini! –

+0

Accedi alla tua pagina Info PHP qui: http: //XXXX/MAMP/index.php? Language = English & page = phpinfo –

5

In aggiunta alla direttiva display_errors, che deve essere impostata su On, potrebbe essere necessario configurare error_reporting.

Per esempio, è possibile utilizzare questo nel file php.ini:

error_reporting = E_ALL 


Un altro dovrebbe, utile per testare, potrebbe essere quella di inserire questo tipo di porzione di codice PHP, all'inizio dello script:

error_reporting(E_ALL); 
ini_set('display_errors', 'On'); 

Questo è utile quando non si ha accesso al php.ini e/o semplicemente si vuole testare in modo rapido, senza dover riavviare il server web.


Come sidenote, quando si tratta di errori di visualizzazione, l'estensione Xdebug è davvero grande: quando è installato/attivato/configurato, invece di avere un messaggio di errore, si otterrà la piena stack-trace, che è molto più utile ;-)

+0

Grazie per voi post, lo apprezzo! Sfortunatamente, non funziona ancora. Sembra che qualcosa stia scavalcando tutto? Sono senza tracce, qualche idea? –

0

Potrebbe esserci un file .htaccess in una directory che sovrascrive l'impostazione display_errors impostata in php.ini. Dal tuo post presumo che tu non abbia aggiunto esplicitamente questo, ma alcuni framework lo fanno per impostazione predefinita, quindi potrebbero essere aggiunti in questo modo. Cercare una linea come questa nel file .htaccess:

php_value display_errors 0 

e cambiare il valore su 1.

+0

Ho fatto una ricerca in quel file e non c'è nessuna riga che contenga quel comando ... –

1

di recente ho sperimentato lo stesso problema - nel mio caso avevo scaricato sito WordPress di un cliente da loro live server che risulta essere stato manomesso dall'inserimento di script dannosi che ha annullato la segnalazione degli errori per evitare il rilevamento.

Un po 'tardi per aiutare l'OP (!), Ma forse utile per i futuri utenti.

0

Se si dispone di diversi SDK PHP con diverse versioni, prima assicurati di modificare correttamente il file php.ini. Se hai ragione aggiungi queste due righe all'inizio del codice.

error_reporting(E_ALL); 
ini_set('display_errors', 'On'); // or ini_set('display_errors', 1); 
0

Ecco una svolta alla stessa risposta. Ho avuto gli stessi problemi, ho appena copiato e incollato il percorso ini dalla pagina info php e ho ancora gli stessi problemi ...

risulta che ho commesso un errore di sintassi quando ho modificato il mio blocco "error_reporting" nel php.ini.

Ho avuto E_NOTICE anziché ~ E_NOTICE.

:(

Così gli errori possono accadere nel php.ini se si stesse modificando e totalmente dimenticato che hai modificato qualcosa.