php无法执行system()函数怎么办?
程序员文章站
2022-04-25 11:25:35
...
php无法执行system()函数怎么办?
php无法执行system()函数的问题分析
PHP无法执行system()函数,可能有以后几种可能。
首先请开启错误时数,根据错误才好判断原因:打开php.ini中的 display_errors = On
在ISAPI模式下修改php.ini要重启WEB服务。
错误分析:
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"');
此时用命令行执行结果OK,但用WEB访问就是空白也没错误。
修正方法,将文件的访问路径改为相对即可:
将IECapt.exe 复制到你的站点程序当前目录下,并将代码改为:
system('IECapt.exe --url=http://www.baidu.com --out=t/tech.png');
再次访问页面,OK,结果出来了。
更多相关知识,请访问PHP中文网!
推荐阅读
-
使用php-timeit估计php函数的执行时间,php-timeitphp
-
深入剖析php执行原理(2):函数的编译,深入剖析php_PHP教程
-
crontab无法执行php的解决方法_PHP
-
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
-
php eval函数参数中存在“=”会报错怎么办
-
crontab定时执行php file_put_contents无法新建并写到一个文件内 但是自己执行是可以成功的
-
php set_time_limit(0) 设置程序执行时间的函数
-
fast-cgi 启动了,但是 nginx 无法执行 php
-
PHP计划任务之关闭浏览器后仍然继续执行的函数
-
php set_time_limit(0) 设置程序执行时间的函数