PHP执行DOS程序

时间:2016-02-22 19:39:14

标签: php dos

我在Windows 10平台上安装了php,似乎无法通过PHP运行应用程序。我可以运行dir,mkdir和简单的DOS命令,但无法从Win \ system或progra~1目录运行任何应用程序。我试过了:

exec('notepad.exe'),
exec('start \c notepad.exe') -- and fully stated path as below
shell_exec('c:\windows\system32\cmd.exe /c c:\windows\system32\notepad.exe')
system('notepad.exe');

在大多数这些例子中,我可以用dir替换,然后获取目录列表。 等等,似乎没有任何执行。

php.ini中是否有允许这样的设置,或者我将IIS_IUSRS或IUSR设置为管理员组(我相信我已经为IIS_IUSRS做了)。我错过了什么?

2 个答案:

答案 0 :(得分:0)

我不确定你的内容并不包括在内,但这是我写的一个完整的文件来测试你的问题:

<?php
   system ('notepad.exe');
?>

它有效(即使它听起来不是一个好主意!)。你有没有忘掉php标签?

答案 1 :(得分:0)

这一切归结为&#34; nt authority / iusr&#34;不是真正的用户,因此没有常规用户的目录结构,例如&#34; AppData&#34;目录。为了运行我想运行的应用程序(SVN),我添加了--config-dir c:\ Users \ user \ AppData \ TortoiseSvn \并将IIS_IUSRS的权限设置为具有读取/修改/写入/执行访问权限。现在SVN非常棒。

谢谢大家。干杯