当前位置: 首页 > 面试题库 >

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

邵修诚
2023-03-14
问题内容

我有一个简单的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!";
   }

问题答案:

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

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

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



 类似资料:
  • 我想在macos上使用apache2从PHP文件执行Python脚本。我能够执行简单的python脚本,如: 从PHP: 巨蟒 输出是: 但当我尝试导入以下包时: 我得到: 我的问题是,有人知道: 1–我如何使这些(以及任何其他)软件包工作? 2–shell_exec当前正在执行python2。如何添加Python 3?(如果我编写python3而不是python将无法工作)

  • 问题内容: 我正在Raspberry Pi上的Apache服务器上运行PHP文档,并且希望它在单击按钮时运行文件。我在命令下放置了一些echo命令,以使文件运行,并且该文件可以打印出来,但文件无法运行。index.php文件和lightson.py和lightsoff.py文件都在同一目录( / var / www )中,我在这两个文件的顶部都添加了 #!/ usr / bin / env pyt

  • 问题内容: 我在树莓派上有一个带有2个按钮(打开和关闭)的PHP网页,“打开”按钮重定向到On.php,“关闭”按钮重定向到Off.php在“ / usr / lib / cgi-bin”中,我有一个python脚本我想执行(script.py),我可以通过在终端上键入以下内容来完美地执行它 如果我从终端执行此操作,它将起作用。 问题是我的“ / var / www”文件夹中的PHP文件(On.p

  • 您好,我正在尝试在apache2服务器上运行Raspberry Pi,使用PHP中的pyautogui库执行Python脚本。从命令行执行Python脚本时,我没有遇到任何问题,但通过PHP的“shell_exec”执行时,我收到以下错误消息: 错误登录apache2: 回溯(最近一次调用):文件“/home/pi/Projects/Python/wakeUp.py”,第2行,在导入pyautog

  • 我有SunOs 5.10 unix服务器,在那里我编写了一个脚本来执行java文件,如下所示 在这个脚本中,有很多代码,其中包括日志文件,以及在导出JAVA HOME之前添加的其他二进制文件类路径。但当我执行时,我得到以下错误 我更改了很多java版本,但都出现了相同的错误

  • 问题内容: 我在String变量中有一个Rscript,我想从Java程序执行它并将一些变量传递给它。如果我独立执行该R脚本,则可以正常工作。我已通过使用Python程序将所有脚本转义,从而将该R脚本转换为一行,如下所示: 我将打印出的字符串用完,并将其存储在String变量中,然后使用以下代码执行,但它根本不起作用。我正在传递和可变到上述R脚本。 上面的代码可以与bash shell脚本一起正常