7

我对 C、C++ 或任何比 PHP 更低的级别一无所知。我看了一眼 github 上的 Codeigniter 3 代码,发现它添加了退出状态代码常量,即我们可以这样做:

exit(EXIT_DATABASE)手段exit(8)exit(EXIT_UNKNOWN_CLASS)手段exit(5)

有什么不同

echo 'Configuration file not found';
exit(3);

并且只是

exit('Configuration file not found');?

exit(integer)在 php中使用的目的是什么?它不打印任何东西,是吗?我还检查了文档和谷歌一些,但仍然不清楚。如何利用这个?我在哪里可以得到这方面的参考?

谢谢。

4

4 回答 4

3

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

如果您使用execor运行脚本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");
   }
于 2013-06-07T14:35:31.837 回答
1

如果您从控制台运行某些脚本,则可以从脚本的响应代码中确定任何错误。

于 2013-06-07T14:33:12.543 回答
1

http://php.net/manual/de/function.exit.php

You can use the integer to return errorcodes which can be used by former programs. For example you can use NAGIOS for monitoring your servers and therein call a PHP-Script, e.g. to make a DB call to count something, whatever. At the end of the script you return 0,1,2,3 as a returncode to tell NAGIOS if the check you are doing is ok, warning, critical, or unknown. These returncode is then used by NAGIOS for further actions, like sending email to an admin etc.

So you can use the exitcode to give information to other progams who use your PHP-script

于 2013-06-07T14:33:53.917 回答
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正如您所说,如果您将其与 a而不是整数一起使用,该函数还允许您直接打印错误

如果 status 是一个字符串,这个函数在退出之前打印状态。

参考

于 2013-06-07T14:31:01.353 回答