一尘不染

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

python

我有一个简单的PHP函数,该函数应在调用时执行Pyton脚本。我已经在我的php程序中多次尝试了这种功能,但是这次以某种方式该功能根本不执行python脚本。当我从命令提示符下访问脚本并运行时,python testing.py它将成功执行。我要提到的一件事是,该脚本具有python的NLTK库的一些认真实现,并且执行和执行其操作(即数据处理并存储到db)需要20秒钟以上。执行延迟是否会导致此问题,或者这次我还缺少其他东西吗?

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

        echo "python exec failed";
            }
   else{
   echo "<br />";
   echo "successfully executed!";
   }

阅读 789

收藏
2021-01-20

共1个答案

一尘不染

您必须使用和的完整路径python。您可以从which python命令中找到前者,最有可能输出’/ usr / bin /
python’并且您应该已经知道后者。因此您的命令应如下所示:

$mystring = exec('/usr/bin/python /home/user/testing.py');

并且您应该确保您的python脚本具有所有适当的权限,因为您的网络服务器很可能以其他用户身份运行,因此权限应为“ -rwxrwxr-x”或近似值。

2021-01-20