PHP system() - 返回状态始终为-1

时间:2016-06-26 17:41:49

标签: php

<?php 
    $cmd = system("wget http://la-lg.hostus.us/500MB.test",$r);
    echo $r;
?>

这是成功的,我可以在我的目录中看到新的500MB.test,但为什么要返回'-1'?

1 个答案:

答案 0 :(得分:0)

我纯粹猜测这个,但我认为你得到-1因为wget立即返回,因为它异步工作。在那个阶段,状态根本不为人所知。您应该检查$cmd以查看命令是否成功执行。参见:

http://linux.about.com/od/commands/l/blcmdl1_wget.htm

它说:“这允许你开始检索并断开与系统的连接,让Wget完成工作。”。

您可以通过检查system()执行的时间来测试此理论。您可能无法在不到1秒的时间内下载500MB。

请仔细检查下载文件的日期。