PHP7和HHVM比较
PHP7的在真实场景的性能确实已经和HHVM相当, 在一些场景甚至超过了HHVM。HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么整个服务就挂了, 并且它不会自动重启。另外它采用JIT, 那么意味着, 重启以后要预热, 没有预热的情况下, 性能较为糟糕。并且多线程模型调试困难, 这对于追求稳定来说的Web服务来说, 是非常不适合的。
下载
# wget http://php.uberglobalmirror.com/distributions/php-7.0.18.tar.gz
--with-curl \
--with-freetype-dir \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libdir=lib64 \
--with-libxml-dir \
--with-mysqli \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-pdo-sqlite \
--with-pear \
--with-png-dir \
--with-xmlrpc \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-native-ttf \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip
如果配置错误,需要安装需要的模块,直接yum一并安装依赖库
# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel MySQL pcre-devel
可以到安装目录,查看生成的文件
需要注意的是,虽然到此,PHP安装是完成了,但是没找到配置文件,因为配置文件 php.ini需要自己从安装包中创建
创建php-fpm.conf文件
创建www.conf文件
如果不创建*.conf 文件,启动php-fpm时候会报错,因为它是php-fpm的配置文件
Nginx与PHP的连接
在nginx.conf中添加如下文件
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
测试
启动php-fpm
默认的是监听9000端口,可以在php-fpm配置中进行相应的修改,我的配置文件路径如下
/usr/local/php/etc/php-fpm.d/www.conf
启动Nginx
编辑测试文件内容如下 touch 1.php
vim 1.php
<?php
phpinfo();
测试结果如下