php system不执行该怎么办

这篇文章将为大家详细讲解有关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,找到Windows\system32\cmd.exe 属性,添加当前站点的运行账号权限或users 组权限即可。

(3)在Web 访问下执行没有任何响应也不报错,使用php cli 命令行执行却可以正常返回结果,该错误一般是由Windows 系统路径引起的,程序中可能是使用了绝对路径去访问程序,例如:

system('D:\server\DLL\IECapt.exe --url=http://tech.cncms.com --out="D:\web\tt.fei.cn\htdocs\ttt\tech.png"');

此时用命令行执行结果正确,但用Web 访问就会返回空白页,没有错误。

修改方法:将文件的访问路径改为相对路径,并将IECapt.exe 复制到站点程序当前目录下,并将代码改为:

system('IECapt.exe --url=http://www.baidu.com --out=t/tech.png');

再次访问页面,就可以正常输出了。

关于php system不执行该怎么办就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。