在centos 6.5中为php5.6安装opcache来开启性能加速

导语:有客户的服务器使用的web环境是centos 6.5 + apcache 2.4 + mysql 5.6 + php 5.6,但没有对php做性能优化。所以,叶子为了给客户的机器做性能优化,为它安装了opcahce,下面是具体的步骤。

安装opcache过程

PHP5.5.0以后版本自带Opcache加速器,但默认情况下木有启用。所以编译的使用我们想要启用该PHP加速器就应该添加参数 : –enable-opcache 来制定。
对于已经编译安装了PHP5.5.0以上版本但当初又没有启用该加速器的用户可以像PHP添加模块一样编译添加。添加已经编译安装好的PHP模块可参照 这里 。

下面是编译安装的过程。

查找php5.6自带包的位置,使用下面的命令。

[root]# find / -name opcache
/usr/local/php-5.6/extcode/opcache

查找phpize的位置。

[root]# find / -name phpize
/usr/local/php-5.6/bin/phpize
/usr/local/php-generic-5.3/bin/phpize

切换到opcache包的目录

[root]# cd /usr/local/php-5.6/extcode/opcache

然后在包的目录,执行phpize。

[root opcache]# /usr/local/php-5.6/bin/phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

不要切换目录,继续在当前目录下执行下面的configure。

./configure --with-php-config=/usr/local/php-5.6/bin/php-config 

还是在这个目录,继续编译文件。

make && make install

Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/

最后它会告诉你opcache.so已经编译成功,就放在/usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/这个目录里。

用vi打开php.ini,编写opcache的配置参数。如果你不知道你的php.ini在哪里,可以用phpinfo.php来查看。

vi /home/wwwroot/etc/php.ini

将下面的代码放置在php.ini的最后面,保存后退出。

[opcache]
zend_extension = /usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/opcache.so
opcache.enable=1
opcache.memory_consumption = 64
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 4000
opcache.revalidate_freq = 60
opcache.fast_shutdown = 1
opcache.enable_cli = 1

重启php-fpm

先用下面的命令找出php-fpm的master进程号

ps aux|grep php-fpm

[root@iZ62b2wlpwdZ opcache]#  ps aux|grep php-fpm

root     11473  0.0  0.2 274592  5168 ?        Ss   14:29   0:00 php-fpm: master process (/home/wwwroot/php-fpm/php-fpm.conf)
www      11474  0.0  0.2 274592  4656 ?        S    14:29   0:00 php-fpm: pool www                                 
www      11475  0.0  0.2 274592  4656 ?        S    14:29   0:00 php-fpm: pool www

重启php-fpm:

kill -USR2 11473

php-fpm的master进程可以理解以下信号

INT, TERM 立刻终止
QUIT 平滑终止
USR1 重新打开日志文件
USR2 平滑重载所有worker进程并重新载入配置和二进制模块

注意,如果你没有使用php-fpm。那么就直接重启apache就可以了。

结束

你学会了吗?

发表评论

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