2010-04-26 105 views
0

我剛剛花了幾個小時把頭髮拉出來。我試圖讓gcc從PHP中編譯一個文件。PHP exec無法使用gcc

$command = "/usr/bin/gcc /var/www/progpad/temp/tNu7rq.c -o /var/www/progpad/temp/tNu7rq.out"; 
    exec($command, $output, $returnVal); 
    echo $returnVal."<br />"; //returns 1 and no output file created. 

我是我自己的Ubuntu服務器上運行,這兩者

/var/www/progpad/ 
/var/www/progpad/temp/ 

都搭配chmod 777集。如果我複製和粘貼命令字符串,並將其粘貼到終端,它完美的作品。

另外,如果我的東西替換命令字符串像

$command = "echo test > test.txt"; 

那麼這沒有任何問題,創建文本文件。我可能在這裏做錯了什麼?

回答

0

我發現了這個問題。我隨機生成文件名並創建文件。我正在試圖在文件處理程序上運行fclose()之前編譯文件。

0

您正在編譯該程序,但您永遠不會執行它。

  1. 檢查看到,編譯 程序的工作運行foo.out。
  2. 假設foo.out正確編譯了 ,然後運行foo.out。
+0

我忘了提及輸出文件根本沒有出現。生病編輯我的問題。 – 2010-04-26 22:55:24