我有两个文件: 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但它没用。
答案 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");