【问题标题】:PHP executing (python) is not working when importing to python导入到 python 时,PHP 执行 (python) 不起作用
【发布时间】:2018-01-26 07:13:26
【问题描述】:


尝试使用

从 php 执行 python 代码时
echo  shell_exec('python search.py "'.$a.'" "'.$b.'"');

当仅导入 sys 时,python 脚本超过了 $a 和 $b

    #!/usr/bin/env python
    import sys
    sys.stderr = sys.stdout
    a = sys.argv[1]
    b = sys.argv[2] 
    print a+" && "+b

但是当我尝试导入其他东西(例如 Numpy)时,php 什么也不返回:

    #!/usr/bin/env python
    import sys
    from nltk.corpus import stopwords
    from nltk import word_tokenize
    sys.stderr = sys.stdout
    a = sys.argv[1]
    b = sys.argv[2] 
    print a+" && "+b

我尝试从机器本身(从 ssh)运行它,一切都运行良好..

已经尝试在 stackoverflow 和其他地方查看一些问题,但似乎没有什么对我有用..

我正在运行 Debian 并使用 python2.7

我收到此错误:

Traceback (most recent call last): File "search.py", line 5, in from nltk.corpus import stopwords File "/usr/local/lib/python2.7/dist-packages/nltk/__init__.py", line 137, in from nltk.stem import * File "/usr/local/lib/python2.7/dist-packages/nltk/stem/__init__.py", line 29, in from nltk.stem.snowball import SnowballStemmer File "/usr/local/lib/python2.7/dist-packages/nltk/stem/snowball.py", line 26, in from nltk.corpus import stopwords File "/usr/local/lib/python2.7/dist-packages/nltk/corpus/__init__.py", line 66, in from nltk.corpus.reader import * File "/usr/local/lib/python2.7/dist-packages/nltk/corpus/reader/__init__.py", line 105, in from nltk.corpus.reader.panlex_lite import * File "/usr/local/lib/python2.7/dist-packages/nltk/corpus/reader/panlex_lite.py", line 15, in import sqlite3 File "/usr/lib/python2.7/sqlite3/__init__.py", line 24, in from dbapi2 import * File "/usr/lib/python2.7/sqlite3/dbapi2.py", line 28, in from _sqlite3 import * ImportError: /usr/lib/python2.7/lib-dynload/_sqlite3.x86_64-linux-gnu.so: failed to map segment from shared object

感谢您的帮助!

解决了! 应该在 PHP 中指定 Python 的文件夹 并将 import cgi, cgitb 添加到 Pythonn

【问题讨论】:

    标签: php python exec nltk ipc


    【解决方案1】:

    您需要将整个路径添加到 echo 命令。比如:

    echo  shell_exec('usr/bin/doc/python search.py "'.$a.'" "'.$b.'"');
    

    谢谢,阿迪亚

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-27
      • 1970-01-01
      • 2016-03-22
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 2015-11-28
      • 2017-08-02
      相关资源
      最近更新 更多