我正在尝试使用PHP脚本运行shell命令。下面是脚本:
<? php
$out = shell_exec('wikitrivia "tony" ');
echo $out;
?>当我使用命令行运行这个命令时,我得到了输出,但不是在浏览器上。我正在使用亚马逊网络服务的EC2。
使用apache2运行PHP。
我已经使用link:https://github.com/atbaker/wikipedia-question-generator#installing-with-python-34中的指令创建了虚拟环境
我想知道如何让我的代码在浏览器上运行?我在控制台上获得输出,但不是在浏览器上。请多多指教。
发布于 2017-04-19 21:52:55
如果您使用pyvenv执行此操作,则获取了venv/bin/activate,它为您的用户设置环境变量。当你从shell运行php脚本时,它会继承你的环境,但当你从web上运行它时,它不会继承你的环境。
当您发出http请求时,脚本将在apache用户环境中执行。通常,apache以httpd、www-data或apache用户身份运行,具体取决于您的配置。
您可以将其安装为with docker,然后将脚本更改为
$out = shell_exec('docker run atbaker/wikipedia-question-generator "tony" ');
echo $out;或者,您可以对所需的环境进行反向工程,并从php脚本中设置它。
https://stackoverflow.com/questions/43496484
复制相似问题