如何在出现错误时终止脚本?(就像等效的 bash `set -e` 选项一样)

如果发生任何错误,如何终止/暂停 PHP 脚本并返回错误退出代码?

set -e基本上Bash提供的功能?

我尝试过设置ini_set('error_reporting', E_ALL);,但这实际上并没有在发生错误时停止脚本。


幕布斯6054654
浏览 100回答 3
3回答

明月笑刀无情

这似乎可以完成工作:set_error_handler(function ($errno, $errstr, $errfile, $errline) {     throw new ErrorException($errstr, $errno, 0, $errfile, $errline); });

jeck猫

我认为你会想要控制错误并以特定的方式处理它们。在这种情况下我会try{    // CODE THAT MAY THROW ERROR    $connection = new Connection('Grandmas_prosthetic_bluetooth_api');    $connection->getWalkingDistance();}catch(){    // ON ERROR HANDLE     die('this is error happened because grandma wasn't around...');    // OR     echo json_encode(array(        'result' => 'failure',        'message' => 'bro something else bad happened...'    ));    exit;} 我喜欢这个,因为如果另一个脚本调用它,至少它可以处理当这个脚本像ajax调用或curs这样中断时发生的情况......否则,如果你的目标是让人们一无所知,你可以直接 die() 或 exit();如果您需要有关错误的信息,您应该启用错误日志并跟踪它们以获取信息,因为通常将原始错误暴露在屏幕上实际上并不是很好。

千巷猫影

PHP 有它自己的函数:exit(). 您可以根据需要传递退出代码。
打开App,查看更多内容
随时随地看视频慕课网APP