当我点击网站上的链接时,我想打开一个视窗程序(例如notepad.exe)。我试着使用php命令shell_exec()和exec(),但这两个命令都不会打开该Windows程序。这是不起作用的代码:
$command = "c:\\windows\\system32\\notepad.exe";
echo shell_exec("$command");在过去,我曾使用类似的代码对数据库进行备份:
$command = "d:\\xampp\mysql\bin\mysqldump --opt -h $hostname -u $username $db > $backup_file";
echo shell_exec("$command");此代码按预期工作(创建备份)。
我怀疑mysqldump在后台运行,而notepad.exe没有运行。这个问题有解决办法吗?
发布于 2022-09-09 14:56:45
PHP通常作为服务运行。在这种模式下,在windows下,一切都是受限的。自从几年前,连一个控制台都没有连接起来。桌面交互是不可能的。
从服务中启动的任何内容都会受到同样的限制。
以上是我的经验。PHP -是否有机会通过exec()运行GUI程序?中的@Goat证实了这一点。
进一步
重要 从Windows开始,服务不能直接与用户交互。因此,不应在新代码中使用标题为“使用交互式服务”一节中提到的技术。
https://stackoverflow.com/questions/73661812
复制相似问题