cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk memanggil Python dari PHP (persekitaran Anaconda)

//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')
cetak('OKOKOK')
f.write('OK')
f.close()

1. Di atas boleh berjaya memanggil dan melaksanakan py

//2.php

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

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

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

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

2. Perkara di atas tidak boleh dipanggil dan dilaksanakan (kebenaran fail juga 777)

centos
persekitaran php: PHP7 (tiada fungsi berisiko tinggi dilumpuhkan)
persekitaran lalai python: python 3.6 (modul permintaan telah dipasang)
Laluan Anaconda: /root/anaconda3
Lazim persekitaran Anda perlu melaksanakan sumber arahan activate python36
$PYTHONPATH /root/anaconda3/bin/python3.6

Masalah telah ditemui
PHP menjalankan python 2.7

Kemudian ubah hala 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

Akibatnya, PHP tidak dapat melaksanakan py~~

淡淡烟草味淡淡烟草味2751 hari yang lalu642

membalas semua(1)saya akan balas

  • 给我你的怀抱

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

    Adakah anda tidak memasang modul permintaan

    balas
    0
  • Batalbalas