当前位置: 首页 > 知识库问答 >
问题:

无法从PHP(apache2)执行python脚本

白光耀
2023-03-14

我想在macos上使用apache2从PHP文件执行Python脚本。我能够执行简单的python脚本,如:

从PHP:

$result = shell_exec("python /Library/…./example.py '$name' ‘$email’ ”);
var_dump($result);

巨蟒

import sys

x = sys.argv[1]
y = sys.argv[2]

print("name: " + x + "<br>")
print("email: " + y + "<br>")

输出是:

但当我尝试导入以下包时:

import openpyxl
import numpy as np
import matplotlib.pyplot as plt

我得到:

我的问题是,有人知道:

1–我如何使这些(以及任何其他)软件包工作?

2–shell_exec当前正在执行python2。如何添加Python 3?(如果我编写python3而不是python将无法工作)

共有1个答案

阎声
2023-03-14

如果将来有人也有同样的问题,我发现如下。

通过通过shell_exec执行一些不同的命令,我注意到它的行为与我的终端不同。

所以我发现当我在shell_exec上执行python3时,它没有指向正确的地址,然后我所要做的就是传递正确的地址:

$result = shell_exec("/Library/Frameworks/Python.framework/Versions/3.7/bin/python example.py '$name' ‘$email’ ”);
var_dump($result);

现在脚本可以工作了:)

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

  • 问题内容: 我正在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

  • 问题内容: 我想从PHP脚本执行系统上存在的Bash脚本。我的系统上有两个脚本。其中一个是称为at at 的PHP脚本,另一个是称为at at 的Bash脚本。 我的client.php脚本看起来像 我的睾丸看起来像 当我在终端上执行以下操作时 我在终端上得到以下输出 但是当我在打开页面时 我得到以下输出 即使执行了chmod + x testscript,我仍然收到此错误。 我如何从浏览器中获取

  • 我试图从一个简单的BASH脚本执行一个简单的PHP脚本。这个网站上的答案不能回答我的问题。 这是我的BASH脚本 这是我的PHP脚本 从命令行运行BASH脚本时,出现以下错误。 我试过键入/usr/bin/php-q/home/username/subfolder/durable2。这很好。它跑起来了