exit()带有消息和非零退出状态

时间:2012-09-22 14:08:24

标签: php

我有两个文件: first.php:

#!/usr/bin/php
<?php
 exit("Unable"); //1
 #exit(1);  //2
 #exit(); //or exit(0) //3
?>

second.php:

#!/usr/bin/php
<?php
 exec("./first.php",$out,$err);
 var_dump($out);
 echo "\n".$err;
?>

现在,当我在first.php中使用#1行运行second.php时,$ out中的“Unable”和$ err中的0。但是在另外两个出口我有$ err的那个数字。
当我用字符串消息执行exit时,怎么能在$ err中得到非零? 我测试了2&gt;&amp; 1但它没用。

5 个答案:

答案 0 :(得分:10)

exit("hi");

与:

相同
echo "hi";
exit(0);

所以请回复声明:)

echo "Unable";
exit(2);

答案 1 :(得分:0)

您不能拥有字符串退出代码。退出代码只是整数。

答案 2 :(得分:0)

您可以使用字符串消息退出并将其打印在标准输出上,但是对于退出代码,这是一个整数,并且字符串将转换为0,这是一个成功的退出代码。

答案 3 :(得分:0)

您甚至可以在退出时调用函数。

  function execute() { echo "whatever"; }
  exit(execute());

答案 4 :(得分:0)

您也可以使用die("Unable");