我正在尝试使用以下代码从 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,如下所示这里,但它的行为方式仍然相同。