<?php
$cmd = system("wget http://la-lg.hostus.us/500MB.test",$r);
echo $r;
?>
這是成功,我可以在我的目錄中看到新的500MB.test,但爲什麼返回'-1'?PHP系統() - 返回狀態總是-1
<?php
$cmd = system("wget http://la-lg.hostus.us/500MB.test",$r);
echo $r;
?>
這是成功,我可以在我的目錄中看到新的500MB.test,但爲什麼返回'-1'?PHP系統() - 返回狀態總是-1
我純粹猜測這個,但我認爲你得到-1,因爲wget立即返回,因爲它工作異步。在那個階段,地位是根本不知道的。您應該檢查$cmd
以查看命令是否已成功執行。請參閱:
http://linux.about.com/od/commands/l/blcmdl1_wget.htm
它說:「這可以讓你開始從系統中檢索和斷開,讓Wget的完成這項工作。」
您可以通過檢查system()
執行多長時間來測試該理論。在不到1秒的時間內,您可能無法下載500MB。
請仔細檢查下載文件的日期。
Thx,我可以在我的Windows服務器上運行它。可能會異步地解決一些問題。我該如何解決它? –
據我所知,在後臺運行該命令的命令末尾需要顯式的&&(&符號)。你沒有這個。那爲什麼我要求你測試'wget'是否在後臺運行,或者不運行。你還沒有報道過。所以我目前沒有任何建議來解決它。信息是正確診斷問題的關鍵。 –
它在我的系統上返回1 –
由於您的請求在本地文件是相同的還是隻是一些字節和wget確實創建的名稱?根據wget版本,它可能是「1通用錯誤代碼」。它在你的系統shell上工作嗎?如果結束,你可以用'$?'檢查返回碼......快樂的黑客!我讀了連字符作爲連字符而不是減號;-) – Dilettant
Thx,Linux或windows?我的系統是centos –