我在使用PHP執行Python程式,程式碼如下
$command="C:/AppServ/www py run.py ";
exec($command);
或
$command="py run.py ";
exec($command);
但卻無法執行......
所以上來請教大家,謝謝
PS:我有先去黑盒子跑過是可以運行的
cd C:/AppServ/www
py run.py
或
py run.py
(PHP和Python在相同路徑)
PS:目前是在windows執行
如果搞不定 ... 用 python to exe 之類的工具
將程式轉成 exe 檔 , 比較方便 ....
php 呼叫 exe 檔就簡單多了
你是照抄改造失敗?
完全不明白dos命令嘛?
這邊再重新教你一下,你看完就可以明白了
dos指令很單純。就是 「命令 參數 參數...」
依照你的(C:/AppServ/www py run.py)這個命令的解釋
就是你運行了一個應用或指令語法是「C:/AppServ/www」
然後帶入參數「py」與「run.py」
這樣是否明白命令的用法了?再照抄應用,至少也得了解一下吧。
這用看的也知道,最好你有www這個命令存在。
而且一般你也得先去黑盒子跑一次看看是否可以運行。再來討論php吧。
抱歉,文章中沒有說清楚,我有先去黑盒子跑過是可以運行的。
你有www這個指令存在??
如果可以的話。那這樣的命令是沒問題的。
那我就不討論dos語法的問題了。
你可以先用echo exec($command);來看看回傳的介面是什麼。
一般來說如果是exec無法運行的情況下,要先檢查函數應用是否被禁止了。如果是命令權限不足的情況下。
那你就得去調整一下你的web server的用戶權限等級了。
先看看錯誤訊息是什麼再決定吧。
使用echo exec($command);
是空白的
我是用以下方式在黑盒子跑過的:
cd C:/AppServ/www
py run.py
或
py run.py
(PHP和Python在相同路徑)
我完全不覺得「C:/AppServ/www py run.py」這串丟到CMD下能跑。
的確直接丟「C:/AppServ/www py run.py」是不行的
我是用以下方式在黑盒子跑過的:
cd C:/AppServ/www
py run.py
或
py run.py
(PHP和Python在相同路徑)
我真的很想要罵人怎麼辦。
居然跟我說「C:/AppServ/www py run.py」是有跑過的
然後po出完全不一樣的命令。還是跑兩次的。
你是給我裝孝偉嗎?
......
來原PO你說說看這個
cd C:/AppServ/www
py run.py
跟這個
C:/AppServ/www/py run.py
差在哪裡?
你好像完全不知道自己下了什麼指令喔?
我是說我有跑過黑盒子,但我沒有說清楚是怎麼跑的,抱歉。所以我有再趕緊補上我跑的命令><
你看一下我上面問你的問題,想一下你應該就知道錯在哪裡囉