strace源 mod
如果跟踪php命令行,或者是fastcgi,应该相对容易多,因为这两种情况下都有独立的PHP进程。
但是跟踪Apache+mod_php5相对就麻烦一些,因为没有独立的PHP进程。如果对httpd守护进程进行strace的话,只会获取到Apache本身的一些系统调用,如查找.htaccess,得不到PHP的系统调用。
有个老外分享了一个视频,跟踪主要分三步:
通过Telnet与Apache建立连接,但是不要立刻就发送HTTP请求(可以写入头HTTP头,但不要连续两次回车),以免连接过快被断开了;
新开一个ssh session,root运行
lsof -p `pidof telnet` | perl -nle 'print "netstat -anp | grep $1" if m/:(\d+)->/' | sh | perl -nle 'print "strace -p $1" if m/(\d+)\/httpd/' | sh
回到Telnet,发送HTTP请求
0
0