发布时间:2018-12-05 02:53:19编辑:丝画阁阅读(825)
1、打开php.ini文件(如果centos的/usr/local/lib目录下没有php.ini,那么从php解压后源文件中复制一个过去,比如:php.ini-production)
2、找到:[opcache],设置为:
[opcache] ; dll地址 zend_extension=php_opcache.dll ; 开关打开 opcache.enable=1 ; 开启CLI opcache.enable_cli=1 ; 可用内存, 酌情而定, 单位为:Mb opcache.memory_consumption=528 ; Zend Optimizer + 暂存池中字符串的占内存总量.(单位:MB) opcache.interned_strings_buffer=8 ; 对多缓存文件限制, 命中率不到 100% 的话, 可以试着提高这个值 opcache.max_accelerated_files=10000 ; Opcache 会在一定时间内去检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, 定位为秒 opcache.revalidate_freq=1 ; 打开快速关闭, 打开这个在PHP Request Shutdown的时候回收内存的速度会提高 opcache.fast_shutdown=1
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的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就可以了。
关键字:
上一篇:五胡乱华时代
下一篇:程序员必须掌握的linux命令
本站部分内容来源网络及网友上传,本站未必能一一鉴别其是否为公共版权或其版权归属,如果您认为侵犯您的权利,本站将表示非常抱歉!
请您速联系本站,本站一经核实,立即删除。删文删帖联系【2789291421@qq.com】