导读
在鸟哥的博客里看到了他们做的PHP的性能测试,相对于PHP5.6都是有很大的提升的,并且PHP的主版本号已经是2004年发布PHP5后,11年来首次更新,肯定PHP7是有很大的改变的,并且支持了 Systemd。
安装编译php7时需要的依赖包 :
yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel systemd systemd-devel (systemd 为php支持新版systemd)
配置编译选项 :
./configure --prefix=/usr/local/php7.0.3 \ --enable-opcache \ --enable-fpm \ --with-fpm-systemd \ (启用 Systemd) --enable-pdo \ --with-mysqli \ --with-pdo-mysql \ --enable-mysqlnd \ --with-curl \ --with-jpeg-dir \ --with-png-dir \ --with-openssl \ --enable-zip \ --with-zlib \
编译 并 安装
make -j 2 (开启 2 个线程编译) && make install
创建 配置文件
cd php-7.0.0RC7/
cp php.ini-production /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
增加到 Systemd 服务
cp /root/php-7.0.3/sapi/fpm/php-fpm.service /etc/systemd/system/ chmod +x /etc/systemd/system/php-fpm.service
修改 php-fpm.service 中 ${prefix},${exec_prefix} 变量为 /usr/local/php/ 安装路径
systemctl start php-fpm
启用 Zend OPcache (php 缓存 服务)
在 php.ini 文件 添加 配置 :
zend_extension=opcache.so opcache.memory_consumption=128 //分配128M内存 opcache.force_restart_timeout=180 // 设置 时间(秒) 来控制缓存文件更新速度. opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 ;关闭PHP文件验证(最高性能) opcache.validate_timestamps=Off ;每60秒验证php文件时间戳是否更新 ;opcache.revalidate_freq=60 opcache.fast_shutdown=1 opcache.enable_cli=1 ;设置不缓存的黑名单 opcache.blacklist_filename="/png/php/opcache_blacklist" ;默认opcache是开启的,对应phpinfo()里Zend OPcache下的Master Value值. opcache.enable=Off (关闭)
检查 是否成功 开启 Zend OPcache :
/usr/local/phptest/bin/php -v 输出 有
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
访问 phpinfo.php 文件 (),
有 Zend OPcache信息输出 :
Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
有 Zend OPcache 信息块 :
注意 Cache hits (高级缓存命中,越高越好) 4648
Cache misses (高级缓存未命中) 142
免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/