想用php来执行外部程序,现在在浏览器方式执行的话无效,查了一下说是要给cmd.exe添加internet权限,怎么添加呢?
问题修改一:
index.php
$dir = 'E:\test';
$output=array();
$command = "svn update ".$dir;
//print_r($command);
exec($command,$output);
for ($i=0;$i < count($output);$i++) {
print $output[$i]."\n";
flush();
}
在windows下部署,然后浏览器里执行,无效
问题修改二:
进一步测试,发现如果全是在本机的话(本机访问)没有问题,但如果我在其它电脑上访问这台电脑上的这个页面就无效了!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您的意思是,用户访问服务器上的页面,实现在服务器端执行cmd的目的是把?
如果是这样的话,你确实需要给cmd.exe
添加可执行权限。
首先你要确定你的apache
跑在什么用户下,这里先假设你的apache是由apacherunner
这个用户启动的。
你要在系统盘WindowsSystem32目录下找到cmd.exe 右键点击--》属性--》安全--》编辑--》添加 输入apacherunner --》确定;
在用户列表中选择刚刚添加的apache的启动用户,在下边的权限框里找到“读取和执行”在允许前打勾并确定。这样权限就加好了。
警告:您这样的做法会带来服务器的安全隐患,请不要在生产环境内使用这种方法。如需远程控制服务器请使用远程桌面等专业接口。