検索

ホームページ  >  に質問  >  本文

PHPからPythonを呼び出す方法(Anaconda環境)

//1.php

<?php
   $order = 'python /home/python/1.py';
      $data = シェル_exec($order);
      var_dump($data);
?>
//1.py

#!usr/bin/env Python`
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 = シェル_exec($order);
      var_dump($data);
?>
//2.py

#!usr/bin/env Python`
インポートリクエスト
OSをインポートする

r = request.get('http://ip.taabao.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 activate python36
$PYTHONPATH /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~~ を実行できません

淡淡烟草味淡淡烟草味2793日前679

全員に返信(1)返信します

  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:14:39

    リクエストモジュールをインストールしませんでしたか

    返事
    0
  • キャンセル返事