2015年12月初PHP7正式版发布,迎来自2004年以来最大的版本更新。PHP7最显著的变化就是性能的极大提升,已接近Facebook开发的PHP执行引擎HHVM。在WordPress基准性能测试中,速度比5.6版本要快2~3倍,大大减少了内存占用。PHP7在语言上也有一些变化,比如添加返回类型声明、增加了一些新的保留关键字等。在安全方面,去除了PHP安全模式,添加魔术引号等。不仅如此,新版还支持64位,而且包含最新版Zend引擎。
2016年4月,安装 PHP7 笔记如下
1.查看操作系统版本 ,用的是 centos6.7
# rpm -q centos-release
centos-release-6-7.el6.centos.12.3.x86_64
2.确保mysql、nginx 已经启动,其中nginx配置为自动启动,现手工启动mysql
@fox php-7.0.14]# service mysqld start
Starting MySQL SUCCESS!
[root@fox php-7.0.14]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 13308 root 6u IPv4 39424 0t0 TCP *:http (LISTEN) nginx 13310 nginx 6u IPv4 39424 0t0 TCP *:http (LISTEN)
[root@fox php-7.0.14]# lsof -i:3306
3.安装、配置PHP
(1).删除之前的 php 版本
# yum remove php* php-common
(2).rpm 安装 Php7 相应的 yum源
CentOS/RHEL 7.x:
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
CentOS/RHEL 6.x:
# rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
(3).yum安装php7
#yum install php70w php70w-cli php70w-common php70w-devel php70w-embedded php70w-fpm php70w-gd php70w-mbstring php70w-mysqlnd php70w-opcache php70w-pdo php70w-xml -y
(4)配置nginx 支持PHP
vi /etc/nginx/conf.d/default.conf
location ~ .php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
"/etc/nginx/conf.d/default.conf" 52L, 1359C written
4.重启nginx 和 PHP
[root@fox php-7.0.14]# /etc/init.d/nginx restart
Stopping nginx: [ OK ]
Starting nginx: [ OK ]
[root@fox php-7.0.14]# /etc/init.d/php-fpm start
Starting php-fpm: [ OK ]
5.验证
(1)写一个 PHP 文件
cat >>/usr/share/nginx/html/test.php<<HI
<?php
phpinfo();
?>
HI
(2)浏览器打开,看到这个界面,说明安装成功
注:
1、以前我学习的是纯手工编译安装,纯手工安装碰到不同的版本,需认真阅读官方安装文档;使用yum安装则方便很多
2、yum安装php7前,如果系统有update到最新,能顺利安装,如果没有update最新,以下依赖包可能要手工安装
yum install libxm12-devel zlib-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel -y
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
wget -O /etc/yum.repos.d/epel.epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y install libmcrypt-devel
yum -y install mhash
yum -y install mcrypt