如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

苏南大叔在本篇文章中,将要给大家带来一款php扩展,叫phptrace。是国内的数字公司出品的,主要功效还是用于分析php程序,找函数的调用关系。当然,和断点调试一样,这些功能本来对于其他语言来说,都是标配的。但是到php这里,又变成了稀罕物件。哎.....

数字公司出品,github主页是:https://github.com/Qihoo360/phptrace 。我们先来看看安装问题。本文的测试环境是mac,理论上来说,centos等linux系列里面,这些也都差不多。

准备工作

取得本地php-config的路径,并记录下路径“/usr/bin/php-config”备用。命令有2个,任选其一。

which php-config
whereis php-config 

php函数调用追踪扩展插件phptrace的安装 - config

php函数调用追踪扩展插件phptrace的安装(图11-1)

下载源码并解压

下载master分支代码,大家都会下载,下载后解压。进入解压后的extension目录。

curl -LOk https://github.com/Qihoo360/phptrace/archive/master.zip
tar zxvf master.zip 
cd phptrace-master/extension

php函数调用追踪扩展插件phptrace的安装 - curl

php函数调用追踪扩展插件phptrace的安装(图11-2)

php函数调用追踪扩展插件phptrace的安装 - ls

php函数调用追踪扩展插件phptrace的安装(图11-3)

源码编译

phpize
./configure --with-php-config=/usr/bin/php-config
make
make cli
sudo make install-all

php函数调用追踪扩展插件phptrace的安装 - phpize

php函数调用追踪扩展插件phptrace的安装(图11-4)

php函数调用追踪扩展插件phptrace的安装 - 003

php函数调用追踪扩展插件phptrace的安装(图11-5)

php函数调用追踪扩展插件phptrace的安装 - 004

php函数调用追踪扩展插件phptrace的安装(图11-6)

php函数调用追踪扩展插件phptrace的安装 - 005

php函数调用追踪扩展插件phptrace的安装(图11-7)

请替换上述脚本中的php-config的路径,具体路径可以在第一步中获得。

  • 最后的截图中,我们可以看到,编译好的so文件,所放置的路径。如果需要,请到这里查看。
  • 注意:最后的install命令,所放置的module的目录可能是个错误的目录。所以,最终您可能需要手工cp一下,修正一下扩展文件的正确位置。
  • 如果你需要cp动作的话,可能意味着:您编译得到的so文件是个和php主程序版本不匹配的文件。修改ini后,您可以通过phpinfo()查看是否成功。

编辑php.ini

ini的路径,也可以通过phpinfo()查看。找到文件后,增加如下语句即可。

[phptrace]
extension=trace.so
phptrace.enabled = 1

php函数调用追踪扩展插件phptrace的安装 - trace_ini

php函数调用追踪扩展插件phptrace的安装(图11-8)

重启生效

重启后,phpinfo里面,可以看到trace的相关信息。如果没有什么变化,那么可能是加载失败了。

php函数调用追踪扩展插件phptrace的安装 - phptrace_info

php函数调用追踪扩展插件phptrace的安装(图11-9)

官方给出的验证办法是这样的。在命令行里面输入如下语句。然后如果看到类似的输出即可。

php -r 'for ($i = 0; $i < 20; $i++) usleep(50000);' &
phptrace -p $!

php函数调用追踪扩展插件phptrace的安装 - ok

php函数调用追踪扩展插件phptrace的安装(图11-10)

当然你还可以通过命令行验证是否生效。

php -m|grep trace

php函数调用追踪扩展插件phptrace的安装 - phptrace_info_2

php函数调用追踪扩展插件phptrace的安装(图11-11)

最后总结

这里面编译的过程中,可能会碰到很多问题,苏南大叔在以前的文章里面有过提及。将在下一篇文章里面再对php的扩展编译过程中,可能出现的错误,再次总结。phptrace的相关文章,请点击这里查看:https://newsn.net/tag/phptrace/

  【php】秘籍文章入口,仅传授于有缘之人  php    pecl

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

打赏任意金额,发送截图到邮箱 shang@newsn.net ,可以领取精选回馈如下(任选其一):
  • 《前端视频教程大礼包》一套
  • 《wordpress精选皮肤》一套
  • 《dedecms织梦精选模板》一套
感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!

岁月静好

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/phptrace-howto-install.html
上一篇好文:phpstromr如何结合xdebug断点调试php程序?
下一篇好文:如何使用php扩展phptrace来分析源码

如果您转载了本文章,出于某种原因,并没有注明作者或者出处。
在这里,苏南大叔也表示理解和支持。因为苏南大叔深深地明白:
您会在合适的时机,合适的地方,给本博客一个外链。对吧?
您若开心,便是安好!岁月静好,但愿世界和平,没有纷争~