Impostazione di php error_reporting value con un parametro console


11

Per testare i miei progetti PHP sugli errori normalmente uso questo comando:

find ./ -type f -name \*.php -exec php -l '{}' \; | grep -v "No syntax errors detected"

Vorrei estendere la parte php -l '{}' \;con alcuni parametri in modo che utilizzi un livello di segnalazione errori personalizzato e non quello definito in php.ini. È possibile?

(So ​​che la domanda è in qualche modo correlata alla codifica. Dall'altro lato riguarda più i comandi della shell. Se pensi che dovrebbe essere migliore su StackOverflow, sentiti libero di spostarla. Non ero sicuro di dove la domanda si adatta meglio.)


Intendi error_reportinglivello? Perché non vuoi usare il valore in php.inio personalizzato nei file php stessi.
quanta,

@quanta: Sì, sto parlando di error_reporting. Spiacente, non era abbastanza chiaro. Ora cambio la domanda. Non voglio cambiarlo in php.ini perché uso questa catena di comando a volte anche su un server live. E impostarlo nei file stessi non è un'opzione neanche perché dovrei impostarlo in ogni file perché il comando find esegue ogni file singolarmente. E a volte ho progetti in cui utilizziamo librerie esterne e vorrei testarle allo stesso tempo.
Raffael Luthiger,

Risposte:


15

Secondo php -h

-d foo[=bar]     Define INI entry foo with value 'bar'

Se si desidera l'impostazione predefinita di produzione consigliata ( E_ALL & ~E_DEPRECATED), il valore sarebbe 22527in PHP 5.3 e 24575in PHP 5.4+.

php -l -d error_reporting=22527

Trovare il valore per varie combinazioni è semplice.

php -r 'echo E_ALL & ~E_NOTICE | E_STRICT;' # should return 32759
php -r 'echo E_ALL & ~E_DEPRECATED;' # should return 22527 in PHP 5.3, 24575 in PHP 5.4+

1
accidenti ... stavo leggendo "php -h" circa 10 volte ma in qualche modo la mia mente saltava sempre oltre questa linea .... Sì, questo è quello che stavo cercando. Nel mio caso voglio usare: E_ALL | E_STRICT che è 32767.
Raffael Luthiger,

Dal momento che PHP 5.4, E_STRICTfa parte di E_ALL. E E_ALLha un pratico valore di scelta rapida -1. Quindi si può fare php -d error_reporting=-1per abilitare tutti i rapporti.
Martin Prikryl,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.