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 安裝筆記整理,希望對大家有所幫助。