8

我有两个文件:first.php:

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

第二个.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 中有那个数字。
当我使用字符串消息执行退出时,如何在 $err 中有非零值?
我已经测试了 2>&1 但它没用。

4

5 回答 5

10
exit("hi");

是相同的:

echo "hi";
exit(0);

所以只是回应声明:)

echo "Unable";
exit(2);
于 2012-09-22T14:15:45.153 回答
0

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

于 2012-09-22T14:12:07.350 回答
0

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

于 2012-09-22T14:15:37.850 回答
0

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

  function execute() { echo "whatever"; }
  exit(execute());
于 2012-09-22T14:19:34.137 回答
0

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

于 2012-09-22T14:57:53.200 回答