[請益] php在windows系統伺服器執行exec()

看板PHP作者 (Ping)時間12年前 (2013/10/22 21:49), 編輯推噓2(206)
留言8則, 3人參與, 最新討論串1/2 (看更多)
大家好,雖然在板上對於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

10/22 21:52, , 1F
只有我覺得很奇怪嗎
10/22 21:52, 1F

10/22 21:53, , 2F
用windows又能設777; 沒給錯誤訊息又說「也是有error」
10/22 21:53, 2F
抱歉,我一開始是用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)

10/22 22:05, , 3F
chmod("資料夾名稱", 0777); <= ???
10/22 22:05, 3F

10/22 22:06, , 4F
其實.... 你可以打開cmd直接下指令看看
10/22 22:06, 4F

10/22 22:06, , 5F
痾 那是之前在linux環境的時候寫的orz...
10/22 22:06, 5F

10/22 22:07, , 6F
那些php用exec之類的指令,最後也是這樣跑
10/22 22:07, 6F
奇妙的是我打cmd指令,可以成功產生圖片在資料夾... 可是只要用網站的方式執行就沒有反應@@" ※ 編輯: bottle7839 來自: 140.113.214.166 (10/22 22:09)

10/22 22:10, , 7F
那應該要往php的執行權限下手看看,你改成fopen把輸出的字
10/22 22:10, 7F

10/22 22:10, , 8F
串先印出來
10/22 22:10, 8F
文章代碼(AID): #1IPeA3ah (PHP)
文章代碼(AID): #1IPeA3ah (PHP)