看板 PHP 關於我們 聯絡資訊
小弟目前在寫一個網站 是由client端連上server後,把cpp檔傳上server那 然後經由php連cmd來做編譯的動作 php連接cmd的動作是用system()來執行 現在,編譯成功的話,已有執行檔可以出現 但是編譯失敗(程式碼有誤)時,卻無法印出錯誤訊息 同樣的方法,我試過用system("dir")來做測試 是可以把指令下顯示出的東西全部印上網頁的 所以這是因為我有做編譯的動作,才會無法顯示嗎? 不知道該在哪板發問,就先發在這邊了 如果最後這問題不屬於php範圍內,小弟會盡快刪除 麻煩一下各位大大幫解惑一下,感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.253.107.50
guardlan:system指令只會回傳結果的最後一行, 請改用exec看看 09/08 12:20
這個小弟也試過了,不過還是沒有辦法顯示出來。是因為需要指令後面加變數存回傳值嗎? ※ 編輯: blackhothot 來自: 111.253.107.50 (09/08 13:19)
roga:try passthru 09/08 15:31
buganini:shell_exec() 另外 錯誤訊息可能是在stderr 09/08 18:35
buganini:你可能需要自己把他轉到stdout 09/08 18:35
請問一下,stderr和stdout好像不是php裡的函式?是用在php時有其他用法嗎? 我在php的函式庫中找不到 ※ 編輯: blackhothot 來自: 111.253.104.189 (09/13 12:09)
cspy:這有點像是PATH的的問題耶 = = 請問你compile後的程式在哪啊 09/14 01:02
我compile後的程式在我設定上傳cpp檔路徑中,也就是跟cpp檔同資料夾 ※ 編輯: blackhothot 來自: 111.253.106.67 (09/14 10:54)