看板 PHP 關於我們 聯絡資訊
大家好,雖然在板上對於php執行exec()有很多的討論, 相關的解決方法我都一一試過 ex: 檢查safe mode, disable function, 改cmd權限(完全控制), 改資料夾的權限(直接把使用者在wamp權限改到最高 ,存取的資料夾也是), 也改過服務裡面的wampapache的"允許服務與桌面互動".. 都沒有辦法,全面崩潰中.... 我的環境: OS:Windows 7 Server:Apache/2.4.4(Win 32) PHP version:5.4.16 程式目的: 讓使用者上傳圖片(預設到A資料夾),用exec()跑程式之後,程式會自動產生一張圖片 再放到A資料夾裡面。 問題程式碼如下: $commandline = "XXXXX.exe"; exec($commandline,$output,$ret);//execute the program echo "return".$ret."<br/>"; 結果: return0 <-- 這應該代表執行成功 但是A資料夾下沒有任何我程式產生的圖片,只有使用者上傳的圖片Orz... PS: 1.我看過A資料夾,權限故意開到最大,可是還是沒有辦法。 2.之前版本有跑過絕對路徑,也是出現error的情形。 以上,懇請板上高手解惑Q_Q -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.214.166
CaptainH:只有我覺得很奇怪嗎 10/22 21:52
CaptainH:用windows又能設777; 沒給錯誤訊息又說「也是有error」 10/22 21:53
抱歉,我一開始是用Linux跑程式,所以有用chmod("資料夾名稱", 0777); //chagne chmod = 777 因為exe檔,在linux下不能執行 才換伺服器 只是要強調都把權限都打開了而已Q_Q 我的error指的是沒有出現預期的結果(產生圖片在A資料夾) 沒有出現error message,return 值都是0 ※ 編輯: bottle7839 來自: 140.113.214.166 (10/22 21:59) ※ 編輯: bottle7839 來自: 140.113.214.166 (10/22 21:59)
LaPass:chmod("資料夾名稱", 0777); <= ??? 10/22 22:05
LaPass:其實.... 你可以打開cmd直接下指令看看 10/22 22:06
bottle7839:痾 那是之前在linux環境的時候寫的orz... 10/22 22:06
LaPass:那些php用exec之類的指令,最後也是這樣跑 10/22 22:07
奇妙的是我打cmd指令,可以成功產生圖片在資料夾... 可是只要用網站的方式執行就沒有反應@@" ※ 編輯: bottle7839 來自: 140.113.214.166 (10/22 22:09)
LaPass:那應該要往php的執行權限下手看看,你改成fopen把輸出的字 10/22 22:10
LaPass:串先印出來 10/22 22:10