天天看点

php获取python输出_在通过PHP运行时无法从python脚本中获取输出

我有一个python脚本,可以打印出windows10中当前音量混合器中的程序名。在

当我在cmd中运行它时,它工作得很好。在C:\wamp\www\Volume>py test.py

firefox.exe,Spotify.exe,Microsoft.Photos.exe,Steam.exe,

这是我的python脚本。在

^{pr2}$

以及我的PHP:$python = "py";

$script = "test.py";

exec("$python $script 2>&1", $output);

print_r($output);

但是当我使用WAMP在PHP中运行它时,我没有从该脚本中获得任何输出,也没有输出任何内容。在

如果我将python脚本更改为只包含“print(“TESTING”)”,那么我可以很好地阅读PHP中的输出,这会使我认为我的python代码可能由于权限而失败。因此,我将用户从系统更改为自己的用户,因此当我使用:echo exec("whoami") // Outputs my user account name

我以为我的PHP脚本可能关闭了,所以我尝试通过命令行运行它,但结果是我想要的:C:\wamp\www\Volume>php index.php

Array

(

[0] => firefox.exe,Spotify.exe,Microsoft.Photos.exe,Steam.exe,

)

为什么我不能在我的浏览器中执行我的PHP代码,除非我的代码在我的浏览器中丢失了:print("TESTING")

可能出了什么问题?在

编辑

所以我决定通过修改python脚本在我的桌面上创建一个.txt文件来进一步调试这一点,当通过命令行运行它时,它可以正常工作。但是,当我通过browser/PHP运行它时,这个文件并没有被创建。所以也许我需要对python脚本授予特殊权限?为什么我不需要我的用户给我的PHP帐户