未能在Heroku平台上从PHP(主机)拨打PHP的Python脚本



我成功地将我的PHP应用程序部署在Heroku平台中。在我的PHP代码中,我通过Shell_exec()调用Python文件,如下:

$result = shell_exec('python test.py ' . escapeshellarg($content));

我的PHP应用程序在Localhost上工作,没有问题,我的PHP应用程序的其他功能在Heroku上工作。但是,当我要求具有此语句的文件时:

$result = shell_exec('python test.py ' . escapeshellarg($content));

python脚本的排名是空的,即回声$结果;是空的。更明确的是,如果我在localhost上运行testpython.php,则在运行$ result $ result = shell_exec('python test.py'。encepeshellarg($ content));将是:结果:"从python脚本的输出"。但是,当我从heroku中运行testpython.php时,托管结果为空我检查了托管是否支持shell_exec函数:

is_callable('shell_exec') && false === stripos(ini_get('disable_functions'), 
'shell_exec');

结果是正确的。testpython.php仅在外壳上运行python脚本,并在浏览器中显示结果。

如果有人知道原因或对此有任何评论/解决方案,很高兴收到他/她的来信。

提示:我认为问题在于我正在使用Python脚本中的一些库,而Heroku Server在Heroku Server上都不可用。有没有办法在Heroku服务器上安装Python库(示例NLTK)?

我猜是我正在使用python脚本中的某些库,而Heroku服务器上无法使用。因为我的应用程序是PHP,因此默认的buildpack是PHP。最后,我使用了多个BuildPack(一个用于PHP,另一个用于Python)来求解Heroku服务器上的所有不可用的库。现在我的应用程序完美工作,PHP脚本调用远程Python脚本

最新更新