PHP怎麼呼叫Python(Anaconda環境)
淡淡烟草味
淡淡烟草味 2017-05-16 13:12:39
0
1
641
//1.php

<?php  
   $order = 'python /home/python/1.py';  
      $data = shell_exec($order);  
      var_dump($data);  
?>  
//1.py

#!usr/bin/env python`
import os
f = open('/home/python/1.txt','w')
print('OKOKOK')
f.write('OK')
f.close()

1.以上可以成功呼叫執行py

//2.php

<?php  
   $order = 'python /home/python/2.py';  
      $data = shell_exec($order);  
      var_dump($data);  
?>  
//2.py

#!usr/bin/env python`
import requests
import os

r = requests.get('http://ip.taobao.com/service/getIpInfo.php?ip=0.0.0.0')
print(r.text)

f = open('/home/python/2.txt','w')
f.write(r.text)
f.close()

2.以上不能呼叫執行(檔案權限同樣都是777)

centos
php環境: PH​​P7 (未停用任何高危險的函數)
python預設環境: python 3.6 ( requests模組已經安裝)
Anaconda路徑: /root/anaconda3
常用環境是需要執行指令source actAnaconda路徑: /root/anaconda3
常用環境是需要執行指令 activate python36 /root/anaconda3/bin/python3.6

問題已經找到
PHP執行的是 python 2.7

後來重定向python
ln -s /root/anaconda3/bin/python3.6 /usr/bin/python
ln -s /root/anaconda3/bin/python3.6 /usr/bin/python2
n -s / root/anaconda3/bin/python3.6 /usr/bin/python3

結果PHP不能執行py了~~

淡淡烟草味
淡淡烟草味

全部回覆(1)
给我你的怀抱

你是不是沒有安裝requests模組

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板