我已经安装了IIS 8.5,并安装并运行了PHP。我还添加了到网站的处理程序映射(在python.exe路径末尾带有%s%s)。我可以直接从浏览器直接成功运行python脚本(打印“ Hello World”)。
这些都只是在默认网站上配置用于测试目的。当我尝试将PHP变量设置为python脚本的输出时,该变量似乎未接收到该值。 IUSR和IIS_IUSRS对根目录(C:\ inetpub \ wwwroot)拥有修改权限,该目录是所有HTML,PHP和Python文件所在的位置。
我的代码如下:
PHP:
<?php
$coutput = shell_exec("/test.py > ~debug.log 2>&1");
include 'header.html';
echo "</br>Python Output:</br>" . $coutput;
var_dump($coutput);
include 'footer.html';
?>
注意::我还尝试了shell_exec函数中的“ python test.py>〜debug.log 2>&1”。
Python(直接运行时空白打印可在浏览器中正确显示):
print("")
print("Hello World")
最初,我认为这是PHP的权限问题,所以我通过命令行从PHP运行python脚本并获取python代码:
c:\ inetpub \ wwwroot>“ c:\ program files \ php \ v7.3 \ php.exe” c:\ inetpub \ wwwroot \ test.py
print(“”) print(“ Hello World”)
PHP不在安全模式下。
我想念什么?任何帮助将不胜感激!