py和php放在同一個目錄下面some.py------------------------------------------#!/usr/bin/env python#-*- coding:utf-8 -*-import sysdef do_some(a):return "dosome:%s" % aif __name__ == '__main__':a = sys.argv[1]if a:T = do_some(a)print T-------------------------------------------t.php<?php$k = $_REQUEST['k'];if (!empty($k)){$k = trim($k);// $a = array();// exec('python ./some.py '.$k, $a);// echo $a[0];pa
Ⅱ php 執行python腳本的時候 已經安裝python模塊能正常使用么
一般是環境變數問題,你的執行一個sh的set命令看看結果吧。
解決辦法,在sh文件裡面設置好環境變數再調用python腳本。
Ⅲ 如何在linux伺服器上用 PHP 執行 python 腳本
雖然覺得不好意思,但這事我干過。。。。shell_exec, exec, passthru 都可以,但是注意路徑問題,要麼全寫絕對路徑,要麼設定好PATH,不然會出現各種各樣奇怪的問題。。。當時是給部門寫一個識別教務系統驗證碼的介面,用python寫,趕著上線就用php包裝了一下扔上了伺服器,用的是passthru但是說實話,這樣做感覺蠢爆了。。。如果題主是以cli模式運行還好,fpm有個問題是有個多長時間沒有反饋就終止的設定,雖然識別時間壓到了0.4s,還是有很多請求就這樣掛掉了,請題主三思。。。綜上所述,如果題主有python開發經驗,建議全部用python完成;如果非要用其他腳本執行,建議用nodejs,畢竟非同步,沒記錯也是exec函數;如果有php框架例如Laravel,可以用queue來調用,也是偽非同步的ˊ_>ˋ
Ⅳ php調用python
py和php放在同一個目錄下面
some.py
------------------------------------------
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import sys
def do_some(a):
return "dosome:%s" % a
if __name__ == '__main__':
a = sys.argv[1]
if a:
T = do_some(a)
print T
-------------------------------------------
t.php
<?php
$k = $_REQUEST['k'];
if (!empty($k))
{
$k = trim($k);
// $a = array();
// exec('python ./some.py '.$k, $a);
// echo $a[0];
passthru('python ./some.py '.$k);
}
然後瀏覽器裡面輸入
瀏覽器會返回dosome:test
被我注釋掉的代碼也可以用來替代passthru
裡面的$a 用來捕獲輸出 不過束腰注意的是 這里的arry 他是按照每一行'
'當作一個元素
但是passthru 則是你python里的print的原樣輸出
Ⅳ 如何實現在PHP中調用Python並獲取運行結果
Python的import包含文件功能就跟PHP的include類似,但更確切的說應該更像是PHP中的require,因為Python里的import只要目標不存在就報錯程序無法往下執行。要包含目錄里的文件,PHP中只需要給對路徑就OK。Python中則不同,下面來看看這個例子。
Ⅵ php調用python時python可以一直運行嗎
如果你有伺服器許可權的話直接exec命令調用python命令行就行了
php文件:test.php
123456
<?php exec("python hw.py",$array,$ret); echo("result: "); print_r($array); echo("return value: ".$ret);?>
py文件:hw.py(與php同一目錄)
1
print ("Hello World");
php執行結果:
result: Array ( [0] => Hello World ) return value: 0
Ⅶ 如何在PHP伺服器里運行python腳本
使用如下命令:
path %path%;"python安裝目錄"
通常是在C盤根目錄python版本號 目錄下
定位到python腳本目錄下,例如D盤的pythonscript目錄中的test.py文件,則使用:
d:cd d:\pythonscript