www.adminn.cn
站长正能量分享网!

IIS+php环境无法执行exec、system解决方案

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

IIS+php环境无法执行exec、system解决方案

环境: windows 2008 server R2 IIS
问题: 我们常需要php去执行外部程序,比如python脚本,bat批处理文件,但是新手因为不会配置环境,用了exec、system函数也是不能执行,我刚开始也是遇到这个坑,也看了很多微博,现在总结一下,从一下几个思路中进行解决;

1,首先要确保php的配置文件php.ini文件没有禁用exec、system等功能,如果禁用了要把它去除(打开php.ini文件,把里面的disable_functions = 后面全部删除掉),再查看php.ini文件里面的safe_mode(安全模式)是否等于Off。等于On的话要把他改成Off。改完重启服务器/电脑。

2: 因为iis是网络用户,因此需要设置cmd的用户权限,进入C:\Windows\System32,找到cmd.exe,然后右键->属性->高级->所有者->编辑,选择 所有者更改为下面的“Administrator”,然后一直确认完成。关闭cmd属性窗口,然后再重新找到cmd.exe,然后右键->属性->安全->编辑->添加,然后输入IIS_IUSRS,然后点击检查名称,然后一直确认到完成。最后关闭cmd属性窗口。

3: 打开IIS管理器,进入IIS的应用程序池,把标识改为LocalSystem , IIS默认的是ApplicationPoolIdentity。(具体是选择右边列表,右击点击高级设置,把里面的标识ApplicationPoolIdentity或者其他的,换成LocalSystem就可以了,全部换了)

 

4: 增加网站权限,因为程序需要写入数据,点击你的网站,选择网站右击选择,编辑权限,然后点击 安全->编辑->添加->然后输入IIS_IUSRS,然后点击检查名称,然后一直确认到完成。给你需要写入数据的目录增加你的网络用户权限读写,编辑好记得重启服务器/电脑

 

5:如果前面还不能解决房问题,确认一下执行程序的位置,因为IIS采用的网络用户执行,因此系统的环境与普通验证用户不同,把需要执行的程序路径写完整了,不要采用相对路径;往往可以解决问题。

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《IIS+php环境无法执行exec、system解决方案》
文章链接:https://www.adminn.cn/news/8311.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏