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应用程序来获取Web服务器的状态信息
Oct 09 PHP
PHP内核探索:变量概述
Jan 30 PHP
PHP对象相互引用的内存溢出实例分析
Aug 28 PHP
php截取字符串函数分享
Feb 02 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
PHP回溯法解决0-1背包问题实例分析
Mar 23 PHP
PHP数学运算函数大汇总(经典值得收藏)
Apr 01 PHP
PHP连接MYSQL数据库的3种常用方法
Feb 27 PHP
微信公众号实现会员卡领取功能
Jun 08 PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 PHP
php格式文件打开的四种方法
Feb 24 PHP
Laravel中错误与异常处理的用法示例
Sep 16 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+html5基于websocket实现聊天室的方法
2015/07/17 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
2016/04/11 PHP
PHP微信开发之文本自动回复
2016/06/23 PHP
php删除二维数组中的重复值方法
2018/03/12 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
THINKPHP5.1 Config的配置与获取详解
2020/06/08 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
关于Javascript中document.cookie的使用
2017/03/08 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
详解Vue组件之间的数据通信实例
2017/06/17 Javascript
如何为vuex实现带参数的 getter和state.commit
2019/01/04 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
对python pandas中 inplace 参数的理解
2020/06/27 Python
Python编写单元测试代码实例
2020/09/10 Python
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
介绍一下#error预处理
2015/09/25 面试题
服装设计行业个人的自我评价
2013/12/20 职场文书
乐观大学生的自我评价
2014/01/10 职场文书
工艺工程师岗位职责
2014/03/04 职场文书
计生专干事迹
2014/05/28 职场文书
学籍证明模板
2014/11/21 职场文书
学生自我评语
2015/01/04 职场文书
婚礼家长致辞
2015/07/27 职场文书
详解thinkphp的Auth类认证
2021/05/28 PHP