8

2 つのファイルがあります: 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 があります。しかし、他の 2 つの出口では、$err にその数字があります。
文字列メッセージで exit を実行するときに $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 に答える