什么是 Exit(integer) 以及如何在 PHP 中使用它
Posted
技术标签:
【中文标题】什么是 Exit(integer) 以及如何在 PHP 中使用它【英文标题】:What is Exit(integer) and how to make use of it in PHP 【发布时间】:2013-06-07 14:26:56 【问题描述】:我对 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 和谷歌一些但仍然不清楚。 如何使用这个?我可以在哪里获得关于这个的参考?
谢谢。
【问题讨论】:
【参考方案1】:它会提示调用者运行脚本的结果。
如果您使用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");
【讨论】:
【参考方案2】:如果您从控制台运行某些脚本,则可以从脚本的响应代码中确定任何错误。
【讨论】:
【参考方案3】:http://php.net/manual/de/function.exit.php
您可以使用整数返回以前的程序可以使用的错误代码。例如,您可以使用 NAGios 来监控您的服务器并在其中调用 PHP 脚本,例如进行数据库调用以计算某些东西,无论如何。在脚本的最后,您返回 0,1,2,3 作为返回码,告诉 NAGIOS 您正在进行的检查是否正常、警告、严重或未知。这些返回码会被 NAGIOS 用于进一步的操作,例如向管理员发送电子邮件等。
因此,您可以使用退出代码向使用您的 PHP 脚本的其他程序提供信息
【讨论】:
【参考方案4】:我觉得manual里面说的很清楚了让我们看看这个例子
//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 是一个字符串,这个函数在退出之前打印状态。
Reference
【讨论】:
以上是关于什么是 Exit(integer) 以及如何在 PHP 中使用它的主要内容,如果未能解决你的问题,请参考以下文章
在java中编译 Integer a =3,不会报错,对象a是如何初始化的?