把php5.3升级成5.6 并开启opcache

原来的php都打包成rpm 后 直接安装的,可以免去安装扩展

今天想把机器上面的php5.4 升级到5.6去 为了防止漏掉参数就直接在info上面复制的 Configure Command 编译参数

'./configure' '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--bindir=/usr/local/php/bin' '--sbindir=/usr/local/php56/sbin' '--sysconfdir=/usr/local/php56/etc' '--localstatedir=/usr/local/php56/var' '--with-exec-dir=/usr/local/php56/bin' '--with-mysql' '--with-iconv-dir' '--with-freetype-dir' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-magic-quotes' '--enable-safe-mode' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl' '--with-curlwrappers' '--enable-mbregex' '--enable-fpm' '--enable-mbstring' '--with-mcrypt' '--enable-ftp' '--with-gd' '--enable-gd-native-ttf' '--with-openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-zip' '--enable-soap' '--with-gettext' '--with-pdo' '--with-pdo-mysql' '--with-mysqli' '--without-pear'

本来以为不用安装扩展了 发现还是需要把扩展安装好后才能安装

yum -y install libxml2-devel openssl-devel curl-devel libjpeg-devel freetype-devel libpng-devel

因为rpm源里面没有libmcrypt-devel 所以使用源码安装

wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
./configure make make install

扩展安装好后就可以编译过了

make make install 后把php-5.6.29/php.ini-development 复制到 /usr/local/php/etc/php.ini

php-fpm.conf 就从原来的地方复制过来,把启动脚本改下就可以了

这样可以启动php5.6了 然后给它加上opcache 加速

因为我们在编译的时候没有加上–enable-opcache 所以要到

cd php-5.6.29/ext/opcache /usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config 
make 
make install

然后到php.ini里面加上扩展和配置

[opcache] ; so地址 注意这里和别的so直接extension不一样 要zend_extension才行
zend_extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/opcache.so" ; 开关打开
opcache.enable=1
; 开启CLI
opcache.enable_cli=1
; 可用内存, 酌情而定, 单位为:Mb
opcache.memory_consumption=512
; 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
重启php后在phpinfo里面能看到

Zend OPcache 一栏