什么是 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】:

它会提示调用者运行脚本的结果。

如果您使用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");
   

【讨论】:

【参考方案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 中使用它的主要内容,如果未能解决你的问题,请参考以下文章

如何通过引用正确传递Integer类?

1103 Integer Factorization

Delphi中@,^,#,$分别表示什么?

在java中编译 Integer a =3,不会报错,对象a是如何初始化的?

Jenkins 2 如何使用 PowerShell 以及自定 build fail (指定 exit code)

死亡exit