windows server php exec 无法执行
windows server 2008 R2下php exec函数调用.exe文件失败,但是在命令行下执行该php文件,却是可以调用.exe文件的。
windows server 的安全机制根linux不太一样,除了要开放端口外,还有组件服务,php的运行用户,要对该组件有全部权限。
windows server下怎么开放端口不说了,下面说了一下如果让用户拥有组件的权限。
1,"开始" -> "运行" -> 32位系统 输入 dcomcnfg 或者 64位系统 输入 comexp.msc
组件命令
2,"组件服务" -> "计算机" -> "我的电脑" -> "DCOM配置" 找到你要执行组件,添加everyone用户和修改标识
组件添加everyone用户
修改组件标识用户
3,"服务器管理器械 " -> "配置" -> "服务" -> "apache" 右键属性
修改apache的登录用户
修改后,要重启apache,这样就可以通过php 来调用该组件的.exe程序了,上面以word为例来说明的。最后吐嘈一下,能不用windows系统,就最好不要用windows系统,windows是个坑。
来源: http://blog.51yip.com/php/1700.html