我有一个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帐户