Cet article présentera certaines choses que vous ne savez peut-être pas sur les erreurs de ligne de commande PHP.
PHP, en tant que langage côté serveur populaire, s'exécute généralement sur un serveur Web, mais il peut également être exécuté directement sur la ligne de commande. Par exemple, sous les systèmes Linux ou MacOS, nous pouvons saisir la commande "php" dans le fichier. terminal pour exécuter directement le script PHP.
Cependant, tout comme sur les serveurs Web, lorsque nous exécutons des scripts PHP en ligne de commande, nous rencontrons également des erreurs. Voici quelques informations sur les erreurs de ligne de commande PHP que vous ne connaissez peut-être pas :
Lorsque nous exécutons un script PHP dans la ligne de commande, s'il y a une erreur dans le script, l'erreur Le message ne s'affichera pas automatiquement à l'écran comme sur le serveur Web. En effet, dans l'environnement PHP sur la ligne de commande, par défaut, PHP affichera les informations d'erreur dans le flux de sortie standard (STDOUT) au lieu du flux de sortie d'erreur (STDERR).
Par conséquent, si vous souhaitez voir les informations d'erreur PHP sur la ligne de commande, vous devez afficher les informations d'erreur dans le flux d'erreur standard. Cela peut être réalisé en ajoutant le code suivant au script PHP :
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
Ces codes indiquent. Les messages PHP vers Erreur sont envoyés vers le flux de sortie d'erreur et tous les messages d'erreur, y compris les avertissements et les notifications, sont affichés. Ces codes doivent être placés au début du script PHP.
Si vous ne gérez pas les erreurs dans le script de ligne de commande PHP, le programme continuera à s'exécuter lorsqu'une erreur se produit. En effet, la gestion des erreurs dans les scripts de ligne de commande PHP est différente de celle des serveurs Web. Si vous souhaitez gérer les erreurs sur la ligne de commande, vous pouvez utiliser une instruction try-catch ou une fonction de gestion des erreurs personnalisée.
Par exemple :
set_error_handler(function ($errno, $errstr, $errfile, $errline ) { echo "Error: [$errno] $errstr - $errfile:$errline"; die(); });
Ces codes utilisent une fonction de gestion des erreurs personnalisée pour gérer les informations sur les erreurs et mettre fin à l'exécution du programme après la gestion des erreurs. Cette fonction doit être ajoutée au début du script PHP.
Si vous souhaitez enregistrer les informations d'erreur de la ligne de commande PHP dans un fichier, vous pouvez utiliser les opérateurs de redirection ">" et ">> " . Par exemple :
php script.php > output.log 2>&1
Cette commande redirigera tout, du flux de sortie standard et du flux de sortie d'erreur vers un fichier nommé output.log. Si vous ne souhaitez pas écraser le contenu du fichier d'origine, vous pouvez utiliser l'opérateur ">>".
Les messages d'erreur dans la ligne de commande PHP peuvent sembler déroutants, mais ils peuvent en réalité vous aider à déboguer votre programme.
Tout d'abord, le message d'erreur vous indiquera où le problème s'est produit dans le programme, le type d'erreur, le numéro de fichier et de ligne, ainsi que la raison de l'erreur. Ces informations vous permettent d'identifier rapidement le problème.
Deuxièmement, le message d'erreur peut également vous indiquer le flux d'exécution du programme. Il peut afficher l'ordre des appels de fonction et le transfert de paramètres entre les fonctions via la pile d'erreurs, ce qui est très utile pour comprendre le flux d'exécution du programme.
Conclusion :
Lors de l'exécution de scripts PHP à partir de la ligne de commande, vous devez faire attention à la façon de gérer les messages d'erreur PHP. Vous pouvez facilement gérer les erreurs PHP à partir de la ligne de commande en affichant les informations d'erreur dans le flux d'erreurs standard, en personnalisant les fonctions de gestion des erreurs ou en utilisant des instructions try-catch. De plus, vous pouvez utiliser l'opérateur de redirection pour exporter les informations d'erreur vers un fichier afin de faciliter la visualisation et le débogage.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!