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 (96b4fef55684b9312718d5de63fb7121)
(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教程》
以上是分享一份PHP7的安装笔记的详细内容。更多信息请关注PHP中文网其他相关文章!