如何解决PHP 无法执行system()函数的问题?

2019-08-26 16:28:20

问题阐述

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再次访问页面,就可以正常输出了。


首页
网站模板
套餐咨询
QQ客服
咨询 QQ
1853600199
QQ咨询