phpcms v9后台操作奇慢的故障排查
2014-11-09 11:14:24 来源:我爱运维网 评论:0 点击:
现象:
后台的各项操作都很慢,无论是导航还是发布。
排查过程:
1、使用chrome浏览后台,打开chrome的开发者工具,发现主要是index.php非常慢,而且每次请求时间都在15s~17s左右;
2、登录服务器,查看index.php,这个文件其实可以,只有几十个字节。但发现php-cgi进程很多;
3、新写了一个PHP,仅包含<?phpinfo()?>,验证下来,PHP响应不慢,说明不是PHP执行与解析的问题;
4、查看php-fpm.log查看,发现里面有如下错误信息:
"postdrop: warning: unable to look up public/pickup: No such file or directory."
这个错误应该是postfix进程没有启动引起,导致无法发送应用的邮件报错。
这是一个附带的发现故障,使用/etc/init.d/postfix start启动邮件发送进程,果然有很多应用积压的邮件开始陆续发出。
5、没有其他的异常,启用 php-fpm 的 slow log 日志,查看执行时间过长的php文件,既可做程序调优,也可作为502等各种问题的分析方法。因此进一步修改php-fpm.conf,打开慢执行php日志,看看问题在哪里:
将php-fpm.conf的这一行配置改成10s:
<value name=”request_terminate_timeout”>10s</value>
该配置默认是0s,即不记录慢执行日志。
6、重新php-cgi。查看slow.log,这次可以看到,有这样的慢日志告警信息:
Nov 08 23:55:07.811440 pid 17636 (pool default) script_filename = /var/html/index.php [0x00007fffef4e77f0] file_get_contents() /data/www/phpcms/class_cache.php(1) : regexp code(1) : eval()'d code(1) : regexp code(1) : eval()'d code(1) : eval()'d code(1) : regexp code(1) : eval()'d code(1) : regexp code(1) : eval()'d code:1 [0x00007fffef4e8b50] is_allow_ip() /data/www/phpcms/class_cache.php(1) : regexp code(1) : eval()'d code(1) : regexp code(1) : eval()'d code(1) : eval()'d code(1) : regexp code(1) : eval()'d code(1) : regexp code(1) : eval()'d code:1 [0x00007fffef4e8d90] +++ dump failed
显然php中使用的file_get_contents()有问题,而且出在class_cache.php这个文件里。
7、找到class_cache.php这个文件,竟然是个加密的PHP文件。不清楚它的用途,然后在百度/google中查找这个文件,包括官方phpcms文档,没有这个文件说明与用途。怀疑是黑客注入留下的文件。
8、备份class_cache.php,并清空这个文件:cp /dev/null class_cache.php。再尝试访问,所有功能都正常,而且速度非常快了,问题就出在这个文件上。更相信class_cache.php是黑客注入留下的文件。
9、故障排除。进行后续跟踪,尝试使用base64 解密这个文件,但不成功。短时间无法解密这个文件,如果有兴趣的朋友,可以尝试解一下密,请联系qudao123@126.com获取加密文件。
评论排行
- ·Windows(Win7)下用Xming...(92)
- ·使用jmx client监控activemq(20)
- ·Hive查询OOM分析(14)
- ·复杂网络架构导致的诡异...(8)
- ·使用 OpenStack 实现云...(7)
- ·影响Java EE性能的十大问题(6)
- ·云计算平台管理的三大利...(6)
- ·Mysql数据库复制延时分析(5)
- ·OpenStack Nova开发与测...(4)
- ·LTPP一键安装包1.2 发布(4)
- ·Linux下系统或服务排障的...(4)
- ·PHP发布5.4.4 和 5.3.1...(4)
- ·RSYSLOG搭建集中日志管理服务(4)
- ·转换程序源码的编码格式[...(3)
- ·Linux 的木马程式 Wirenet 出现(3)
- ·Nginx 发布1.2.1稳定版...(3)
- ·zend framework文件读取漏洞分析(3)
- ·Percona Playback 0.3 development release(3)
- ·运维业务与CMDB集成关系一例(3)
- ·应该知道的Linux技巧(3)