Je commencerai par écrire que j'ai vu des questions similaires et j'ai essayé les solutions suggérées. Je cours un cli, quand j'ai volontairement mis une erreur d'analyse dans le fichier php, je n'obtiens pas d'erreur dans stdOut.
J'utilise les configurations ci-dessous:
22527 pour error_reporting est
ini_set('error_reporting', E_ALL|E_STRICT);
Le rapport d'erreur est bloqué sur les erreurs d'analyse
PHP 5.5.20 (cli) (built: Jan 9 2015 11:20:56)
php -i | grep error
display_errors => STDOUT => STDOUT
display_startup_errors => Off => Off
error_append_string => no value => no value
error_log => no value => no value
error_prepend_string => no value => no value
error_reporting => 22527 => 22527
html_errors => Off => Off
ignore_repeated_errors => Off => Off
log_errors => Off => Off
log_errors_max_len => 1024 => 1024
track_errors => Off => Off
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
AJOUT: Si j'ajouter mon propre gestionnaire fatale:
function fatal_handler() {
$error = error_get_last();
if ($error !== null) {
echo ("\n\nERROR occured!\nFile [{$error['file']}].\nLine: [{$error['line']}].\nMessage: [{$error['message']}]\n\n");
}
exit(1);
}
register_shutdown_function("fatal_handler");
Je ne peux voir l'erreur en stdio.
Voici un exemple à un code (avec erreur d'analyse) qui ne produit pas d'erreurs pour moi
class A{
const AAA = 'aaa';
static public function Result(A::AAA){
}
}
Pourrait ajouter un exemple d'erreur d'analyse? J'ai "PHP Parse error:" dans STDERR, même avec 'display_errors => Off => Off'; PHP 5.5.14 (cli). –
Pourquoi n'utilisez-vous pas le journal apache ou les journaux d'erreurs pour voir l'erreur PHP? pourquoi cli? – unixmiah
Parce que je développe une CLI. –