什么是Exit(整数)以及如何在PHP中使用它

时间:2013-06-07 14:26:56

标签: php codeigniter exit-code

我对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并点了一些谷歌,但仍然没有说清楚。 如何利用这个?我可以在哪里获得参考资料?

感谢。

4 个答案:

答案 0 :(得分:3)

它为调用者提供了运行脚本结果的提示。

如果您正在运行带有execsystem的脚本,并且您需要根据运行脚本的结果采取不同的行为,这在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是字符串,则此函数在退出之前打印状态。

Reference