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直接执行则几秒就执行完毕!求解决方法的主要内容,如果未能解决你的问题,请参考以下文章

php+mysql链接很慢,无响应

linux 下 php执行 exec 无反应 返回值为空

PHP的exec()函数无返回值排查方法[转]

php exec执行视频图片转换

php命令执行

php如何执行linux的curl指令