iT邦幫忙

0

(已解決)使用PHP執行Python程式

小斑 2018-11-27 18:14:1613514 瀏覽
  • 分享至 

  • xImage

我在使用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執行

看更多先前的討論...收起先前的討論...
weiclin iT邦高手 4 級 ‧ 2018-11-27 19:50:42 檢舉
"C:/AppServ/www" ?
還是 "py C:/AppServ/www/run.py" ?
froce iT邦大師 1 級 ‧ 2018-11-27 22:43:57 檢舉
"python C:/AppServ/www/run.py"?
harrytsai iT邦新手 1 級 ‧ 2018-11-28 09:50:17 檢舉
windows 我不知道,但是linux 那邊是吃www 資料夾的權限,如果資料夾被賦予的檔案權限不夠是不能呼叫執行程式
小斑 iT邦新手 3 級 ‧ 2018-11-28 10:37:45 檢舉
"py C:/AppServ/www/run.py"

"python C:/AppServ/www/run.py"
都有試過,仍無法執行

我目前是在windows執行
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
echochio
iT邦高手 1 級 ‧ 2018-11-28 09:40:15

如果搞不定 ... 用 python to exe 之類的工具
將程式轉成 exe 檔 , 比較方便 ....
php 呼叫 exe 檔就簡單多了

小斑 iT邦新手 3 級 ‧ 2018-11-28 10:36:17 檢舉

感謝,我試試看^___^

1

你是照抄改造失敗?
完全不明白dos命令嘛?

這邊再重新教你一下,你看完就可以明白了

dos指令很單純。就是 「命令 參數 參數...」
依照你的(C:/AppServ/www py run.py)這個命令的解釋
就是你運行了一個應用或指令語法是「C:/AppServ/www」
然後帶入參數「py」與「run.py」

這樣是否明白命令的用法了?再照抄應用,至少也得了解一下吧。
這用看的也知道,最好你有www這個命令存在。
而且一般你也得先去黑盒子跑一次看看是否可以運行。再來討論php吧。

看更多先前的回應...收起先前的回應...
小斑 iT邦新手 3 級 ‧ 2018-11-28 10:02:38 檢舉

抱歉,文章中沒有說清楚,我有先去黑盒子跑過是可以運行的。

你有www這個指令存在??
如果可以的話。那這樣的命令是沒問題的。

那我就不討論dos語法的問題了。
你可以先用echo exec($command);來看看回傳的介面是什麼。

一般來說如果是exec無法運行的情況下,要先檢查函數應用是否被禁止了。如果是命令權限不足的情況下。
那你就得去調整一下你的web server的用戶權限等級了。

先看看錯誤訊息是什麼再決定吧。

小斑 iT邦新手 3 級 ‧ 2018-11-28 10:33:31 檢舉

使用echo exec($command);
是空白的

我是用以下方式在黑盒子跑過的:

cd C:/AppServ/www
py run.py

py run.py
(PHP和Python在相同路徑)

froce iT邦大師 1 級 ‧ 2018-11-28 10:36:24 檢舉

我完全不覺得「C:/AppServ/www py run.py」這串丟到CMD下能跑。

小斑 iT邦新手 3 級 ‧ 2018-11-28 10:41:14 檢舉

的確直接丟「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出完全不一樣的命令。還是跑兩次的。

你是給我裝孝偉嗎?

wingkawa iT邦新手 3 級 ‧ 2018-11-28 10:49:40 檢舉

....../images/emoticon/emoticon67.gif
來原PO你說說看這個

cd C:/AppServ/www
py run.py

跟這個

C:/AppServ/www/py run.py

差在哪裡?

你好像完全不知道自己下了什麼指令喔?

小斑 iT邦新手 3 級 ‧ 2018-11-28 10:53:07 檢舉

我是說我有跑過黑盒子,但我沒有說清楚是怎麼跑的,抱歉。所以我有再趕緊補上我跑的命令><

wingkawa iT邦新手 3 級 ‧ 2018-11-28 11:20:01 檢舉

你看一下我上面問你的問題,想一下你應該就知道錯在哪裡囉

小斑 iT邦新手 3 級 ‧ 2018-11-28 14:48:35 檢舉

謝謝,已解決

fuzzylee1688 iT邦研究生 3 級 ‧ 2018-11-29 08:43:51 檢舉

被嚇到 不敢問下去了??

youarefat iT邦新手 5 級 ‧ 2018-11-29 09:57:28 檢舉

因為這問題實在太過一目了然了吧

我要發表回答

立即登入回答