PHP性能优化工具vld扩展

作者: Darren 分类: php 发布时间: 2019-09-13 10:46

这个工具能帮助我们PHP代码编译成opcode代码过程,对性能优化与以及才查看底层php代码的很有提升,也对学习很有帮助

测试环境:

1.centos7.4 linux

2.宝塔一键端,这个快,apche+php7.1+mysql5.5

3.xshell

现在开始:

 

1.首先需要登录linux默认会在root目录下,先从pecl下载,截止今天最新版本2019.05月份更新

wget https://pecl.php.net/get/vld-0.16.0.tgz

2.解压,并且进入目录

tar zxvf vld-0.16.0.tgz
cd vld-0.16.0/

3.找到本地phpize用来构建PECL扩展用的,不知道,请执行以下命令

find / -name phpize -type f  #不知道执行
/www/server/php/71/bin/phpize #知道就直接这样执行

%title插图%num

4.找到本地的php-config,不知道也执行以下命令

find / -name php-config -type f  #不知道执行
./configure --with-php-config=/www/server/php/71/bin/php-config --enable-vld

复制以上,将中间部分替换你的php-config路径

%title插图%num

 

5.接下来配置

make && make install

6.复制以下路径

%title插图%num

7.找到php.ini配置,跳到最后一行

find / -name php.ini -type f  #不知道执行
vim /www/server/php/71/etc/php.ini  #上面得到的结果之前加一个vim
进去后,切掉输入法,跳到最后一行 两个大GG

8.添加刚才第六步的路径在后面添加vld.so,或者将你路径换了,最后保存.

[vld]
extension = /www/server/php/71/lib/php/extensions/no-debug-non-zts-20160303/vld.so

9.重启apche,如果是nginx也要

service httpd restart

10.查看是否安装成功

php -m | grep vld

11.最后就可以测试了,切换到你程序的目录,执行你要的查看的程序

php -dvld.active=1 -dvld.execute=0 test.php # test.php换成你的文件

参数说明:

vld扩展主要的两个参数列表

-dvld.active  默认为0。代表是否在运行PHP文件是激活vld挂钩,

-dvld.execute 默认为1。代表只显示中间代码,不执行生成的中间代码,可以置0,表示不执行中间生成代码

%title插图%num

如上为VLD输出的PHP代码生成的中间代码的信息,说明如下:

Branch analysis from position 这条信息多在分析数组时使用。
Return found 是否返回,这个基本上有都有。
filename 分析的文件名
function name 函数名,针对每个函数VLD都会生成一段如上的独立的信息,这里显示当前函数的名称
number of ops 生成的操作数
compiled vars 编译期间的变量,这些变量是在PHP5后添加的,它是一个缓存优化。这样的变量在PHP源码中以IS_CV标记。
op list 生成的中间代码的变量列表
使用-dvld.active参数输出的是VLD默认设置,如果想看更加详细的内容。可以使用-dvld.verbosity参数

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注