Python脚本无法从PHP exec()执行

kha*_*han 5 php python

我有一个简单的PHP函数,它应该在调用时执行Pyton脚本.我在我的php程序中多次尝试过这种函数,但不知怎的,这次函数根本没有执行python脚本.当我从命令提示符访问脚本并运行时,python testing.py它成功执行.有一件事我想提一下,这个脚本有一些严格的python的NLTK库实现,并且执行和执行它的操作需要20多秒(即数据处理和存储到db).执行中的延迟导致了这个问题,还是这次我还缺少其他的东西?

function success(){
   $mystring = exec('python testing.py');
   $mystring;
   if(!$mystring){

        echo "python exec failed";
            }
   else{
   echo "<br />";
   echo "successfully executed!";
   }
Run Code Online (Sandbox Code Playgroud)

len*_*nik 10

你必须使用python和文件的完整路径.您可以从which python命令中找到前者,最有可能输出'/ usr/bin/python',您应该已经知道后者.所以你的命令看起来像这样:

$mystring = exec('/usr/bin/python /home/user/testing.py');
Run Code Online (Sandbox Code Playgroud)

并且你应该确保你的python脚本具有所有适当的权限,因为你的web服务器很可能是以不同的用户身份运行,所以权限应该是"-rwxrwxr-x"或者接近的.