动手实践,Linux 安装 php-vld 全过程实录
开篇三问
对于一些新手小白可能会发问:VLD 是什么?
答:vld 是 PECL extensions 扩展之一 ,也就是我们在 php.ini 中 extension=php_mysql.dll 这种,它的主要功能是方便我们查看 php 底层编译的 opcode。
紧接着又有第二问:opcode 是什么?
答:当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode)。Opcode cache 的目地是避免重复编译,减少 CPU 和内存开销。如果动态内容的性能瓶颈不在于 CPU 和内存,而在于 I/O 操作,比如数据库查询带来的磁盘 I/O 开销,那么 opcode cache 的性能提升是非常有限的。但是既然 opcode cache 能带来 CPU 和内存开销的降低,这总归是好事。
直击灵魂的第三问:为什么要使用 Opcode?
这得从 PHP 代码的生命周期说起,请求 PHP 脚本时,会经过五个步骤,如下图所示:
Zend 引擎必须从文件系统读取文件、扫描其词典和表达式、解析文件、创建要执行的计算机代码(称为 Opcode),最后执行 Opcode。每一次请求 PHP 脚本都会执行一遍以上步骤,如果 PHP 源代码没有变化,那么 Opcode 也不会变化,显然没有必要每次都重行生成 Opcode,结合在 Web 中无所不在的缓存机制,我们可以把 Opcode 缓存下来,以后直接访问缓存的 Opcode 岂不是更快,启用 Opcode 缓存之后的流程图如下所示:
Linux 安装过程
安装查看 opcode 利器 vld,记录一下开发机安装 php-vld 过程。
一、准备工作
Linux 开发机一台;
Nginx、PHP 已安装。
二、安装 php vld 扩展
2.1、下载文件
下载:http://pecl.php.net/package/vld
或者 wget 方式:wget http://pecl.php.net/package/get/vld-0.14.0.tgz
2.2、解压文件
如果这一步骤出错,需安装 gcc(yum -y install gcc),然后再试。
2.3、phpize
依次执行 phpize,用于构建 pecl 扩展
这一步骤如出错,需安装 php-devel
2.4、configure
查找 php-config 所在位置:
设置 php-config 的路径与上面保持一致:
2.5、编译和安装
至此安装完成。
三、添加新扩展配置
3.1、编辑 php.ini,添加 vld.so 新扩展
3.2、重启 php-fpm 生效
查看 phpinfo() 信息,vld 扩展添加成功。
四、试用
编写个简单的例子试一下
试用
作者:架构精进之路,十年研发风雨路,大厂架构师,CSDN 博客专家,专注架构技术沉淀学习及分享,职业与认知升级,坚持分享接地气儿的干货文章,期待与你一起成长
关注并私信我回复“01”,送你一份程序员成长进阶大礼包,欢迎勾搭。
Thanks for reading!
版权声明: 本文为 InfoQ 作者【架构精进之路】的原创文章。
原文链接:【http://xie.infoq.cn/article/a88f66ae227dc6b1b50db439c】。文章转载请联系作者。
评论