php exec无法执行怎么办
php exec无法执行的解决办法:1、找到php配置文件php.ini,在文件里搜索“disable_functions”,并把“exec”和“shell_exec”去掉;2、到服务器修改文件权限;3、修改配置中的安全模式为“safe_mode=On”。
php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。
php exec无法执行怎么办?
PHP exec执行系统指令失败原因分析
问题背景:
由于项目需求,需要将html页面生成图片,使用phantomjs(点击了解)工具对页面进行截图,在cmd窗口下运行没有任何问题。但在php中exec运行失败,提示phantomjs不是内部指令。
问题解决:
在百度中找到各种解决方案:
方案1:
1、修改php.ini
找到php配置文件php.ini,如果是用星外php自动安装程序配置php环境,这个文件就在C:WINDOWS这个目录里。
在文件里搜索“disable_functions”,找到它后把“exec”、“shell_exec”去掉,然后保存文件。
2、修改cmd.exe文件属性
进入C:WINDOWSsystem32,找到cmd.exe这个文件,右键->属性,在“安全”设置里添加Internet 来宾账户,也就是IUSR_******那个账户,然后赋予“读取与运行”、“读取”的权限。
方案2:
有说是权限问题。
解决方案:https://www.yht7.com/php-weizijiaocheng-498092.html
方案3:
php的内置函数exec,system都可以调用系统命令(shell命令),当然还有passthru,escapeshellcmd等函数。
在很多时候利用php的exec,system等函数调用系统命令可以帮助我们更好更快的完成工作。比如前二天笔者在批量处理.rar文件时exec就帮我了大忙了。
今天整理一下常用的调用系统函数发出来和大家分享经验。
注意:要想使用这二个函数php.ini中的安全模式必须关闭,要不然为了安全起见php是不让调用系统命令的。
先看一下php手册对这二个函数的解释:
exec — 执行外部程式
语法 : string exec ( string command [, array &output [, int &return_var]] )
登录后复制