2012-04-03 43 views
1

我有我試圖運行一個腳本,但它在exec()wget的PHP中的exec失敗

<pre><?php 

    ini_set("display_errors", 1); 

    $command = "wget --save-cookies cookies.txt \ 
       --post-data '***' \ 
       --keep-session-cookies \ 
       http://site.com/ac_login.php; 

       wget --load-cookies cookies.txt \ 
       --keep-session-cookies \ 
       -p http://site.com/ac_landing.php;"; 

    exec($command, $output) or die('fail'); 

    foreach ($output as $num => $line) { 

     echo $num + 1 . ": " . $line . "\n"; 
    } 

?></pre> 

死如果我刪除\在每一行結束時,我得到的

響應
1: wget: missing URL 
2: Usage: wget [OPTION]... [URL]... 
3: 
4: Try `wget --help' for more options. 
5: wget: missing URL 
6: Usage: wget [OPTION]... [URL]... 
7: 
8: Try `wget --help' for more options. 

我試着將所有的命令移動到一行,但是然後再次死亡。我究竟做錯了什麼?我如何檢索這個腳本中的錯誤?在exec中爲第三個參數添加結果將返回空白。

我使用這個參考https://stackoverflow.com/a/1432161/763468

的命令在SSH控制檯工作。

+0

打印輸出並粘貼到控制檯中,但是您可以將所有內容與1行連接在一起並與$ var。=「」並刪除最後一行;從命令作爲托馬斯賴特編輯 – ZiTAL 2012-04-03 21:24:49

+0

沒有輸出,因爲'死' – 2012-04-03 21:43:25

+0

我的意思是打印wget命令,而不是結果,然後複製到控制檯嘗試 – ZiTAL 2012-04-04 07:22:56

回答

2

首先,我不認爲你需要的文件名後分號

-p http://site.com/ac_landing.php; 

-p http://site.com/ac_landing.php 
+1

除此之外,它看起來像使用wget與exec()似乎產生頻繁的問題。在StackOverflow上有很多類似的帖子。你可能也想看看其中的一些。 http://stackoverflow.com/questions/2528466/how-to-run-wget-from-php-so-that-output-gets-displayed-in-the-browser-window http://stackoverflow.com /問題/ 9889099/wget的上窗口,通PHP-EXEC-犯規工作 – 2012-04-03 21:23:30

0

你每exec呼叫嘗試一個命令?

exec("wget --save-cookies cookies.txt --post-data '***' --keep-session-cookies http://site.com/ac_login.php"); 
exec("wget --load-cookies cookies.txt --keep-session-cookies -p http://site.com/ac_landing.php");