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 相关文章推荐
几种显示数据的方法的比较
Oct 09 PHP
用PHP的ob_start();控制您的浏览器cache!
Feb 14 PHP
php5编程中的异常处理详细方法介绍
Jul 29 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
Oct 25 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
Jul 29 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
浅析php中三个等号(===)和两个等号(==)的区别
Aug 06 PHP
PHP清除数组中所有字符串两端空格的方法
Oct 20 PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 PHP
PHP防止图片盗用(盗链)的方法小结
Nov 11 PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 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
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
php使用百度天气接口示例
2014/04/22 PHP
PHP正则表达式入门教程(推荐)
2016/05/18 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
基于PHP实现用户登录注册功能的详细教程
2020/08/04 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
浅谈jquery.fn.extend与jquery.extend区别
2015/07/13 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
详解js的六大数据类型
2016/12/27 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
对Python w和w+权限的区别详解
2019/01/23 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
CSS3实现头像旋转效果
2017/03/13 HTML / CSS
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
党课心得体会范文
2014/09/09 职场文书
人大代表选举标语
2014/10/07 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
违纪检讨书
2015/01/27 职场文书
2015公司年度工作总结
2015/05/14 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android
mysql sock 文件解析及作用讲解
2022/07/15 MySQL