我正在尝试使用PHP exec()函数。
如果return_var参数与输出参数一起出现, 然后执行命令的返回状态将写入此 变量
如果执行成功,则为0.但是,如果存在错误,则可能是多个其他整数。我似乎无法找到那些整数对应的地方。我应该如何解释我得到的整数?
更新
我本来应该指定这个,但我正在执行另一个PHP脚本。与rsync(在其手册页上有退出值)不同,我找不到PHP的等价物。
所以我正在做的是:
$rv = exec('php file.php', $out, $rv);
答案 0 :(得分:10)
返回值取决于您使用exec运行的进程/程序。例如,如果你运行grep:
如果找到选定的行,则退出状态为0,否则为1 找到。如果发生错误,则退出状态为2.(注意:POSIX 错误处理代码应检查“2”或更高。)
rsync有大约20种不同的错误退出代码,所有这些都在手册页中进行了详细解释:
http://linux.die.net/man/1/rsync
所以是的,它依赖于程序:)
即使您正在运行PHP脚本,退出值也取决于您的程序本身。默认情况下,php脚本将以0退出。如果使用exit函数,则可以返回不同的退出代码:
http://php.net/manual/en/function.exit.php
如果您想通过实验确定您的php程序退出的内容,请在命令行中调用它:
php file.php
然后做
echo $?
这将显示php脚本的退出值。
答案 1 :(得分:2)
恕我直言,在使用exec()函数之前,最好设置output和return_var参数,并通过return_var读取返回代码的执行情况。 不要依赖exec()返回值。
答案 2 :(得分:0)
查找正在执行的命令的手册页。这个值与PHP无关,而与实际命令无关。