php站点ajax请求返回数据异常处理的经历
2021/5/18 14:55:36
本文主要是介绍php站点ajax请求返回数据异常处理的经历,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、问题描述
站点运行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
查看app所有加载文件,检查文件是否有输出,无结果
通过入口文件添加特定的参数过滤
if($_GET['action'] == 'joinCart') { echo 5555; }
发现 异常字符不是在 app加载之前 输出的, 基本断定时 php进程问题
3.检查 Nginx配置和php-pfm配置, 重启两个进程,ok 数据正常了
php-pfm的命令
master进程可以理解以下信号
INT, TERM 立刻终止 QUIT 平滑终止 USR1 重新打开日志文件 USR2 平滑重载所有worker进程并重新载入配置和二进制模块
示例:
php-fpm 关闭:
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
如果没有php-fpm.pid文件,使用进程 pid
kill -USR2 24216
三、知识参考文章
CGI、FastCGI和PHP-FPM关系图解
https://www.awaimai.com/371.html
实战Nginx与PHP(FastCGI)的安装、配置与优化
https://www.cnblogs.com/liangxiaofeng/p/5974834.html
这篇关于php站点ajax请求返回数据异常处理的经历的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28怎么把PHP程序打包?-icode9专业技术文章分享
- 2024-09-28怎么用Phar打包PHP程序?-icode9专业技术文章分享
- 2024-09-13手动在github上下载的mfpt包,怎么放到thinkphp5.0框架并正常使用-icode9专业技术文章分享
- 2024-09-05python的<class 'bytearray'>相当于php的哪个数据类型-icode9专业技术文章分享
- 2024-09-05php 导出银行卡号避免科学技术法的方法-icode9专业技术文章分享
- 2024-08-30什么样的php代码质量差被称为垃圾代码-icode9专业技术文章分享
- 2024-08-30用 PHP 调用拼多多的接口以获取订单状态消息的步骤方法和代码示例-icode9专业技术文章分享
- 2024-08-27phpunit单元测试框架的入门和使用方法介绍-icode9专业技术文章分享
- 2024-08-24PHP 中date("w") 周一是多少-icode9专业技术文章分享
- 2024-08-14thinkphp8.0获取域名或主机名方法-icode9专业技术文章分享