php system 不执行怎么办
php system不执行的解决办法:1、将disable_functions等号后面的system去掉;2、添加当前站点的运行账号权限;3、将文件的访问路径改为相对路径,并将IECapt.exe复制到站点程序当前目录下即可。
本文操作环境:windows7系统、PHP7.1版、Dell G3电脑。
php system 不执行怎么办?如何解决PHP 无法执行system()函数的问题?
问题阐述
PHP 无法执行system()函数是什么原因呢?
解答
PHP 无法执行system()函数,可能有以下几种情况:
(1)Warning: system() has been disabled for security reasons
该错误是由于服务器安全配置将system 函数关闭了,打开php.ini 文件,将disable_functions等号后面的system 去掉即可。
(2)Warning: system() [function.system]: Unable to fork
该错误是由于当前站点的运行账号无法访问cmd.exe,找到Windowssystem32cmd.exe 属性,添加当前站点的运行账号权限或users 组权限即可。
(3)在Web 访问下执行没有任何响应也不报错,使用php cli 命令行执行却可以正常返回结果,该错误一般是由Windows 系统路径引起的,程序中可能是使用了绝对路径去访问程序,例如:
system('D:serverDLLIECapt.exe --url=http://tech.cncms.com --out="D:web t.fei.cnhtdocs tt ech.png"');
此时用命令行执行结果正确,但用Web 访问就会返回空白页,没有错误。
修改方法:将文件的访问路径改为相对路径,并将IECapt.exe 复制到站点程序当前目录下,并将代码改为:
system('IECapt.exe --url=http://www.baidu.com --out=t/tech.png');
3再次访问页面,就可以正常输出了。
推荐学习:《PHP视频教程》