一、问题描述
站点运行1年多,突然出现问题,ajax请求数据,正确的数据应该是
{isError: false, message: "添加成功"}
前面莫名多了一串字符
goods_id=385&type=product&goods_num=1&work_id=398239&is_rows=true
二、 调试过程
1.检查控制器的方法是否正确,通过输出 调试字符 ,确定异常字符出现的位置
2.发现字符再控制器调用之前输出,检查框架的拦截器或app加载流程,这种比较尴尬了,整个框架没有完整调试log,断点调试导致后面不执行,检查app加载过程中所有问题,无法浮现问题,
通过
get_included_files
if($_GET['action'] == 'joinCart')
{
echo 5555;
}
发现 异常字符不是在 app加载之前 输出的, 基本断定时 PHP进程问题
3.检查 Nginx配置和PHP-pfm配置, 重启两个进程,ok 数据正常了
PHP-pfm的命令
master进程可以理解以下信号
INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块
kill -INT `cat /usr/local/PHP/var/run/PHP-fpm.pid`
PHP-fpm 重启:
kill -USR2 `cat /usr/local/PHP/var/run/PHP-fpm.pid`
查看PHP-fpm进程数:
ps aux | grep -c PHP-fpm
kill -USR2 24216
三、知识参考文章
CGI、FastCGI和PHP-FPM关系图解
https://www.awaimai.com/371.html
https://www.cnblogs.com/liangxiaofeng/p/5974834.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。