开发一个web应用离不开HTTP,而HTTP的最基础单位是请求和响应,那么对于PHP的开发者来说,我们需要对于请求的解析以及响应的构建有足够的了解,而其中最为基础也是最为重要的一环就是Opcode Cache。在本文中,我们将带你深入探究Opcode以及PHP的运作原理,并且告诉你如何正确安装Opcode Cache。
对于PHP的开发者们来说,每个人都知道PHP代码需要通过Zend Engine进行编译执行,并在执行过程中经过opcode(操作码)来完成指令的执行,而Opcode Cache本身就是将指令缓存起来以提高代码执行的性能。那么虽然安装Opcode Cache似乎是一个小小的事情,但是不同的环境安装的方式也有所不同。现在我们就来看一下,在不同的环境下,安装Opcode Cache的方法。
首先我们看看如何在Debian/Ubuntu环境下安装Opcode Cache。首先确保php5-xcache已经被正确地安装,之后在CLI终端运行如下命令:
sudo pecl install xcache
如果已经成功安装,那么我们将在PHP中添加extension=xcache.so并且在web服务器(例如Apache)配置文件中加入如下代码:
php_value zend_extension "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/xcache.so"
而对于CentOS/RHEL等环境,安装Opcode Cache同样也是很简单的,我们可以先安装EPEL仓库,之后通过yum命令进行安装,如下:
sudo yum install php-pecl-xcache
大多数情况下,安装Opcode Cache之后需要进行配置优化才能达到最佳效果。通常我们需要增加缓存的大小以及cache缓存池的大小,对于XCache来说,你可以通过在php.ini文件中添加如下参数进行配置:
[xcache-common] xcache.size=64M xcache.var_size=32M xcache.readonly_protection = On xcache.mmap_path = "/dev/shm/xcache/"
顺便提一下,如果你在使用不同的PHP版本,那么可以考虑在.htaccess或php.ini中动态引用该版本的扩展,例如在.htaccess中可以添加如下代码:
php_value zend_extension "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/xcache.so" php_value zend_extension "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/xcache.so"
在本文中,我们详细地探究了PHP中的Opcode Cache以及如何安装,也分享了如何进行一些参数优化。如果你是一个PHP开发者,那么一定要了解这些内容,因为它们将帮助你更加高效地开发。不同的操作系统环境下安装我们所需要的库和扩展是常见的问题,但对于有经验的PHP开发者来说,这些问题是很容易解决的。