问题描述:
前台功能中,点击按钮后,需要后台执行脚本,更新数据。但是在页面点击后,数据没有更新。
问题排查:
1。程序中使用shell_exec();执行脚本命令。确认函数是否禁用,在php的配置中,修改禁用函数配置,PHP默认禁用exec()等函数
2。修改禁用函数后,脚本执行仍然没有反应。排查文件权限,发现web程序的执行者是www用户,脚本文件的权限是root用户,查看php的运行着身份是www,修改php的运行用户身份。问题解决
修改PHP配置
// 修改PHP运行用户
// 1.打开配置文件
# vi /www/server/php/74/etc/php-fpm.conf
listen.owner = root
listen.group = root
user = root
group = root
// 2.重启PHP
# php-fpm -R
3.重启后查看php的运行者身份
ps aux | grep php
[root@localhost etc]# ps -aux | grep php-fpm
root 13570 0.0 0.1 249732 7452 ? Ss 23:26 0:00 php-fpm: master process (/www/server/php/74/etc/php-fpm.conf)
root 13571 0.2 0.4 256400 18244 ? S 23:26 0:01 php-fpm: pool www
root 13572 0.0 0.1 249732 6576 ? S 23:26 0:00 php-fpm: pool www
root 13573 0.0 0.1 249732 6576 ? S 23:26 0:00 php-fpm: pool www
root 13574 0.0 0.1 249732 6576 ? S 23:26 0:00 php-fpm: pool www
root 13575 0.0 0.1 249732 6576 ? S 23:26 0:00 php-fpm: pool www
root 13587 0.0 0.1 249732 6576 ? S 23:26 0:00 php-fpm: pool www
root 14087 0.0 0.0 112812 972 pts/1 S+ 23:33 0:00 grep --color=auto php-fpm