Passthru 在开发服务器中有效,但在 Apache 中无效

Passthru 在开发服务器中有效,但在 Apache 中无效

我正在尝试使用以下代码从 Ubuntu 20.04 中的 Laravel 项目执行 Python 脚本:

passthru('/usr/bin/python3 /var/www/birra/public/setauto.py DB_D1 false');
$output = ob_get_clean(); 

这在 Laravel Development Server 中运行良好,但由于某种原因,它在 Apache 中不起作用。我发现这篇文章有人说这可能是权限问题,因此我授予所有权限只是为了检查,并让 www-data 成为所有者。

-rwxrwxrwx 1 www-data aid-pc     925 Jan 22 13:51 setauto.py

我还将 cli php.ini 复制到 apache 的 php.ini。重新启动 apache 并尝试config:clear。这些都不起作用。知道为什么会发生这种情况吗?我该如何解决?

这显示没有错误,就像一切顺利一样通过了,但脚本显然没有执行,因为它应该影响一些保持不变的变量。它还返回output=""

我还尝试在 Apache 中为 Python 脚本启用 CGI,如下所示这里,但它的行为方式仍然相同。

相关内容