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教學》
以上是分享一份PHP7的安裝筆記的詳細內容。更多資訊請關注PHP中文網其他相關文章!