PHP 执行 exec 无响应,如果在cmd直接执行则几秒就执行完毕!求解决方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 执行 exec 无响应,如果在cmd直接执行则几秒就执行完毕!求解决方法相关的知识,希望对你有一定的参考价值。
谢谢,已修改 safe_mode_exec_dir 设置。可执行了,执行一个cli脚本,但执行,网页无响应,只能重启ie。why?
参考技术A 如果想允许用户输入的数据被传入本函数,则应使用 escapeshellarg() 或 escapeshellcmd() 函数来确保用户不能欺骗系统从而执行任意命令。如果用本函数启动一个程序并希望保持在后台运行,必须确保该程序的输出被重定向到一个文件或者其它输出流去,否则 php 会在程序执行结束前挂起。在打开了安全模式时,只能执行在 safe_mode_exec_dir 之内的程序。为实用起见目前不能在指向程序的路径中包含 .. 成分。本回答被提问者采纳
linux 下 php执行 exec 无反应 返回值为空
ps:请先确保 php.ini 的disable_functions 配置没有拦截 exec ,有请删掉,保存,重启php
-------------------------------------------------------------------下面开始正文
1、先找出是哪个用户在执行这个文件的
<?php
$result = exec("whoami", $outcome, $status);
var_dump($outcome);
我的是输出为 www 也有可能是 apache 、daemon
也就是说是 www这个用户在执行
2、给这个用户增加运行命令的权限
打开这个文件
vim /etc/sudoers 搜索 ## Allow root 在root下面行加入 www ALL=(ALL) NOPASSWD:ALL 如下所示 www指上述输出的用户名,请根据实际来调整
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
www ALL=(ALL) NOPASSWD:ALL
3、重启linux服务器 reboot,完成
以上是关于PHP 执行 exec 无响应,如果在cmd直接执行则几秒就执行完毕!求解决方法的主要内容,如果未能解决你的问题,请参考以下文章