我对C,C ++或任何低于PHP的级别一无所知。我在github上看了一下Codeigniter 3代码并发现它已添加exit status code constants,即我们可以这样做:
exit(EXIT_DATABASE)
表示exit(8)
或exit(EXIT_UNKNOWN_CLASS)
表示exit(5)
之间有什么不同
echo 'Configuration file not found';
exit(3);
只是
exit('Configuration file not found');
?
在php中使用exit(integer)
的目的是什么?它没有打印任何东西,是吗?我也检查了the docs并点了一些谷歌,但仍然没有说清楚。 如何利用这个?我可以在哪里获得参考资料?
感谢。
答案 0 :(得分:3)
它为调用者提供了运行脚本结果的提示。
如果您正在运行带有exec
或system
的脚本,并且您需要根据运行脚本的结果采取不同的行为,这在php中非常有用。
<?php
$output = array();
$error = null;
exec("/path/to/php cleanData.php", $output, $error);
if ($error){
Logger::log($error, $output);
die("Sorry I was Unable to Clean the Data\n");
}
答案 1 :(得分:1)
如果您从控制台运行某些脚本,则可以从脚本的响应代码中确定任何错误。
答案 2 :(得分:1)
http://php.net/manual/de/function.exit.php
您可以使用整数来返回可由以前程序使用的错误代码。例如,您可以使用NAGIOS监视您的服务器,并在其中调用PHP脚本,例如进行数据库调用以计算某些东西,无论如何。在脚本结束时,您返回0,1,2,3作为返回码,告诉NAGIOS您正在执行的检查是否正常,警告,严重或未知。然后,NAGIOS将这些返回码用于进一步的操作,例如向管理员发送电子邮件等。
因此,您可以使用exitcode向使用PHP脚本的其他程序提供信息
答案 3 :(得分:0)
我认为手册很清楚,让我们来看看这个例子
//exit program normally
exit;
exit();
exit(0);
//exit with an error code
exit(1);
exit(0376); //octal
它用于从控制台退出程序,无论是否有错误,因此您可以跟踪它们,并且它与die()
函数相同。
如果status是一个整数,该值将用作退出状态而不打印。退出状态应在0到254范围内,退出状态255由PHP保留,不得使用。状态0用于成功终止程序。
正如您所说,如果您使用string
代替整数
如果status是字符串,则此函数在退出之前打印状态。