PHP7.0安装笔记整理


Posted in PHP onAugust 28, 2015

2015年6月11日,PHP官网发布消息,正式公开发布PHP7第一版的alpha版本.

PHP7特性:

PHP 7.0.0 Alpha 1使用新版的ZendEngine引擎,带来了许多新的特性,以下是不完全列表:

(1)性能提升:PHP7比PHP5.6性能提升了两倍。 Improved performance: PHP 7 is up to twice as fast as PHP 5.6

(2)全面一致的64位支持。 Consistent 64-bit support

(3)以前的许多致命错误,现在改成抛出异常。Many fatal errors are now Exceptions

(4)移除了一些老的不在支持的SAPI(服务器端应用编程端口)和扩展。Removal of old and unsupported SAPIs and extensions

(5)新增了空接合操作符。The null coalescing operator (??)

(6)新增加了结合比较运算符。Combined comparison Operator (<=>)

(7)新增加了函数的返回类型声明。Return Type Declarations

(8)新增加了标量类型声明。Scalar Type Declarations

(9)新增加匿名类。Anonymous Classes

php7安装笔记整理

# 安装mcrypt

yum install -y php-mcrypt libmcrypt libmcrypt-devel

# 升级bison

cd /var/soft/
wget http://ftp.gnu.org/gnu/bison/bison-2.6.4.tar.gz
tar -xvzf bison-2.6.4.tar.gz 
cd bison-2.6.4
./configure
make && make install

# 升级re2c,解决You will need re2c 0.13.4 or later if you want to regenerate PHP

parsers.错误

cd /var/soft/
wget http://sourceforge.net/projects/re2c/files/re2c/0.13.5/re2c-0.13.5.tar.gz/download
tar zxf re2c-0.13.5.tar.gz && cd re2c-0.13.5
./configure
make && make install

编译PHP7

# 创建目录
mkdir -p /var/soft/php7
cd /var/soft/php7
# 下载源代码
git clone http://git.php.net/repository/php-src.git
cd php-src
./buildconf
# 配置参数
./configure --prefix=/usr/local/php7 \
--with-config-file-path=/usr/local/php7/etc \
--with-mcrypt=/usr/include \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gd \
--with-iconv \
--with-zlib \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--with-openssl \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-opcache
#################################################################################
# 编译安装php时出现 /encodings.c:101: undefined reference to `libiconv_close' 错误的解决方法
# 在装php时出现以下的错误:
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:73: undefined reference to `libiconv_open'
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:81: undefined reference to `libiconv'
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:101: undefined reference to `libiconv_close'
# /root/Downloads/php-5.6.5/ext/xmlrpc/libxmlrpc/encodings.c:101: undefined reference to `libiconv_close'
# collect2: error: ld returned 1 exit status
# make: *** [sapi/cli/php] Error 1
# 根据php官网描述这是一个bug(https://bugs.php.net/bug.php?id=52611)。在configure以后要手动修改下Makefile文件,找到EXTRA_LIBS 在最后添加 -liconv 即可顺利通过
# (大约在Makefile文件的104)
# EXTRA_LIBS = -lcrypt -lz -lresolv -lcrypt -lrt -lmysqlclient -lmcrypt -lltdl -lpng -lz -ljpeg -lcurl -lz -lrt -lm -ldl -lnsl -lxml2 -lz -lm -ldl -lssl -lcrypto -lcurl -lxml2 -lz -lm -ldl -lfreetype -lmysqlclient -lz -lm -lssl -lcrypto -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lcrypt -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lxml2 -lz -lm -ldl -lssl -lcrypto -lcrypt -liconv
#################################################################################
# 编译安装
make && sudo make install

# 配置

cp php.ini-production /usr/local/php7/etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm
chmod +x /etc/init.d/php7-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

# 配置opcache

vim /usr/local/php7/etc/php.ini
# 加入
zend_extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/opcache.so
# 启动
/etc/init.d/php7-fpm start

# 查看PHP版本

/usr/local/php7/bin/php -v

结果:

PHP 7.0.0-dev (cli) (built: Mar 3 2015 10:02:26) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies
  with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2015, by Zend Technologies

以上就是本文给大家分享的PHP7.0 安装笔记整理,希望对大家有所帮助。

PHP 相关文章推荐
PHP 学习路线与时间表
Feb 21 PHP
php 无限级分类学习参考之对ecshop无限级分类的解析 带详细注释
Mar 23 PHP
提高php运行速度的一些小技巧分享
Jul 03 PHP
有关phpmailer的详细介绍及使用方法
Jan 28 PHP
php生成随机颜色的方法
Nov 13 PHP
PHP中通过fopen()函数访问远程文件示例
Nov 18 PHP
Codeigniter发送邮件的方法
Mar 19 PHP
PHP中trim()函数简单使用指南
Apr 16 PHP
php 数组随机取值的简单实例
May 23 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
Jun 06 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
php中二维数组排序问题方法详解
Aug 28 #PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 #PHP
PHP生成随机密码方法汇总
Aug 27 #PHP
windows下apache搭建php开发环境
Aug 27 #PHP
php给图片添加文字水印方法汇总
Aug 27 #PHP
微信公众平台开发之配置与请求
Aug 26 #PHP
php基础教程
Aug 26 #PHP
You might like
Thinkphp+smarty+uploadify实现无刷新上传
2015/07/30 PHP
php文件缓存方法总结
2016/03/16 PHP
PHP实现163邮箱自动发送邮件
2016/03/29 PHP
[原创]php使用curl判断网页404(不存在)的方法
2016/06/23 PHP
PHP+JS实现的实时搜索提示功能
2018/03/13 PHP
jQuery 表单验证扩展(四)
2010/10/20 Javascript
javascript 闭包
2011/09/15 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
JS中判断null、undefined与NaN的方法
2014/03/24 Javascript
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
2014/08/15 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
原生js实现密码强度验证功能
2020/03/18 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
详解vue-cli项目在IE浏览器打开报错解决方法
2020/12/10 Vue.js
python执行等待程序直到第二天零点的方法
2015/04/23 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
CHARLES & KEITH台湾官网:新加坡时尚品牌
2019/07/30 全球购物
机械专业应届毕业生自荐书
2014/06/12 职场文书
搞笑车尾标语
2014/06/23 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
民主评议党员自我鉴定
2014/10/21 职场文书
全民创业工作总结
2015/08/13 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫