在 CentOS 7.x / Fedora 21 上面體驗 PHP 7.0
PHP是一種為我們熟知的通用伺服器網頁尾本語言。非常多的線上網站都是用PHP編寫的。PHP這些年來一直在持續進化,豐富其功能,變得易於使用,更好地組織的指令碼語言。目前PHP的開發團隊正籌備下一個PHP版本的發行,名字是PHP 7。現在的PHP版本為PHP 5.6,可能你清楚PHP 6已經流產了,PHP 7的支持者們不希望下一個重要的版本被其他分支混淆,即過去已經停止很久的PHP 6。所以決定下一個PHP主要的發行版本叫PHP 7,而不是PHP 6。PHP 7.0預計在今年十一月份發行。
在下一代主要PHP版本里有一些不錯的功能:
- 為了改善執行效率與記憶體佔用,新的版本新增了PHPNG功能。
- 引入了JIT引擎來動態編譯Zend操作碼為自然機器碼,以此來達到更快的處理效能。這項功能允許隨後的程式呼叫同一份程式碼,這樣會執行快很多。
- AST(抽象語法樹)是最新新增的功能,它可以增強支援PHP的擴充套件性和使用者應用。
- 新增非同步程式設計功能以支援同一個請求中的並行任務。
- 新的版本會支援獨立的多執行緒網頁伺服器,這樣可以使用一個單獨的儲存池處理很多併發的請求。
在CentOS/Fedora上安裝PHP 7
讓我們來看看怎樣在CentOS 7和Fedora 21安裝PHP7。為了安裝PHP7,我們首先需要克隆php-src 倉庫。當克隆工作完成,我們再配置和編譯它。進行下一步之前,我們要確保已經在LInux系統下安裝瞭如下的元件,否則PHP編譯會返回錯誤中止。
- Git
- autoconf
- gcc
- bison
所有上面提到的要求可以使用Yum軟體包管理器安裝。以下一條命令即可完成:
yum install git autoconf gcc bison
準備好開始安裝PHP7了嗎?讓我們先建立一個PHP7目錄,作為你的當前工作目錄。
mkdir php7 cd php7
現在克隆php-src倉庫,在終端裡執行下面的命令。
git clone https://git.php.net/repository/php-src.git
工作應該會在幾分鐘後完成,這裡是一個樣例輸出,你應該會在任務完成時看見。
[root@localhost php7]# git clone https://git.php.net/repository/php-src.git Cloning into 'php-src'... remote: Counting objects: 615064, done. remote: Compressing objects: 100% (127800/127800), done. remote: Total 615064 (delta 492063), reused 608718 (delta 485944) Receiving objects: 100% (615064/615064), 152.32 MiB | 16.97 MiB/s, done. Resolving deltas: 100% (492063/492063), done.
讓我們來配置,編譯PHP7,在終端執行下面的命令,開始配置工作:
cd php-src ./buildconf
下面是./buildconf命令的樣例輸出。
[root@localhost php-src]# ./buildconf buildconf: checking installation... buildconf: autoconf version 2.69 (ok) rebuilding aclocal.m4 rebuilding configure rebuilding main/php_config.h.in
使用下面的命令,繼續配置程式:
./configure / --prefix=$HOME/php7/usr / --with-config-file-path=$HOME/php7/usr/etc / --enable-mbstring / --enable-zip / --enable-bcmath / --enable-pcntl / --enable-ftp / --enable-exif / --enable-calendar / --enable-sysvmsg / --enable-sysvsem / --enable-sysvshm / --enable-wddx / --with-curl / --with-mcrypt / --with-iconv / --with-gmp / --with-pspell / --with-gd / --with-jpeg-dir=/usr / --with-png-dir=/usr / --with-zlib-dir=/usr / --with-xpm-dir=/usr / --with-freetype-dir=/usr / --with-t1lib=/usr / --enable-gd-native-ttf / --enable-gd-jis-conv / --with-openssl / --with-mysql=/usr / --with-pdo-mysql=/usr / --with-gettext=/usr / --with-zlib=/usr / --with-bz2=/usr / --with-recode=/usr / --with-mysqli=/usr/bin/mysql_config
這會花去不少的時間,當完成後你應該會看到如下面的輸出:
creating libtool appending configuration tag "CXX" to libtool Generating files configure: creating ./config.status creating main/internal_functions.c creating main/internal_functions_cli.c +--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP. config.status: creating php7.spec config.status: creating main/build-defs.h config.status: creating scripts/phpize config.status: creating scripts/man1/phpize.1 config.status: creating scripts/php-config config.status: creating scripts/man1/php-config.1 config.status: creating sapi/cli/php.1 config.status: creating sapi/cgi/php-cgi.1 config.status: creating ext/phar/phar.1 config.status: creating ext/phar/phar.phar.1 config.status: creating main/php_config.h config.status: executing default commands
執行下面的命令,完成編譯過程。
make
“make”命令的樣例輸出如下所示:
Generating phar.php Generating phar.phar PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled. clicommand.inc directorytreeiterator.inc directorygraphiterator.inc pharcommand.inc invertedregexiterator.inc phar.inc Build complete. Don't forget to run 'make test'.
活兒幹完了,該安裝PHP7了,執行下面的命令安裝它。
make install
成功安裝的程式的樣例輸出應該像這樣:
[root@localhost php-src]# make install Installing shared extensions: /root/php7/usr/lib/php/extensions/no-debug-non-zts-20141001/ Installing PHP CLI binary: /root/php7/usr/bin/ Installing PHP CLI man page: /root/php7/usr/php/man/man1/ Installing PHP CGI binary: /root/php7/usr/bin/ Installing PHP CGI man page: /root/php7/usr/php/man/man1/ Installing build environment: /root/php7/usr/lib/php/build/ Installing header files: /root/php7/usr/include/php/ Installing helper programs: /root/php7/usr/bin/ program: phpize program: php-config Installing man pages: /root/php7/usr/php/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /root/php7/usr/lib/php/ [PEAR] Archive_Tar - installed: 1.3.13 [PEAR] Console_Getopt - installed: 1.3.1 [PEAR] Structures_Graph- installed: 1.0.4 [PEAR] XML_Util - installed: 1.2.3 [PEAR] PEAR - installed: 1.9.5 Wrote PEAR system config file at: /root/php7/usr/etc/pear.conf You may want to add: /root/php7/usr/lib/php to your php.ini include_path /root/php7/php-src/build/shtool install -c ext/phar/phar.phar /root/php7/usr/bin ln -s -f /root/php7/usr/bin/phar.phar /root/php7/usr/bin/phar Installing PDO headers: /root/php7/usr/include/php/ext/pdo/
恭喜你,PHP7已經安裝在你的Linux系統上了。安裝完後,進入PHP7安裝檔案裡的sapi/cli裡面。
cd sapi/cli
驗證一下PHP的版本。
[root@localhost cli]# ./php -v PHP 7.0.0-dev (cli) (built: Mar 28 2015 00:54:11) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies
總結
PHP 7也新增到了remi倉庫,這個即將到來的版本主要關注執行效率的提升,它的新特性致力於使PHP較好滿足現代程式設計的需求和趨勢。PHP 7.0將會有許多新的特性、丟棄一些老版本的東西。在接下來的日子裡,我們希望看到新特性和棄用功能的具體情況。希望你喜歡!
相關文章
- PHPExcel 在 PHP7.0 以上版本報錯PHPExcel
- Fedora 和 CentOS StreamCentOS
- CentOS 7.0防火牆CentOS防火牆
- Install Google Chrome on Fedora 28/27, CentOS/RHEL 7.5 (在 fedora 28 等 上 安裝 chrome)GoChromeCentOS
- 使用 Eclipse 在 Fedora 上進行 PHP 開發EclipsePHP
- CentOS 7.0 之 FastDFS安裝CentOSAST
- 在 Fedora 上為 SSH 設定雙因子驗證
- CentOS 7.x 安裝MySQL8.0CentOSMySql
- Centos 7.x 線上安裝 KubernetesCentOS
- PHP7.0 的新特性PHP
- Fedora 17正式版 亮點搶先體驗
- CentOS 7.0下使用yum安裝MySQLCentOSMySql
- 在 RHEL、CentOS 和 Fedora 上安裝 Git 及設定 Git 賬號的技巧CentOSGit
- CentOS7.0怎麼設定螢幕解析度?CentOS7.0設定螢幕解析度教程CentOS
- centos 16安裝PHP7.0 異常 No pool defined. at least one pool section must be specified in config fileCentOSPHPAST
- Fedora 21透明終端以及字型設定guake詳解
- CentOS 7.x 安裝SuperMap iServer 10i服務CentOSServer
- CentOS6.4 升級到7.0的步驟CentOS
- 從CentOS 7.0升級到7.7版本CentOS
- CentOS 7.0 系統更改核心啟動順序CentOS
- 三個在 Fedora 平臺上撰寫 Markdown 的軟體
- 如何讓音樂軟體的歌詞在touch bar上面顯示?
- java 21 虛擬執行緒初體驗Java執行緒
- 在 Fedora 中使用私人助理 Mycroft
- pkg-config 在windows 上面的安裝。Windows
- CentOS7.0+OpenStack+kvm雲平臺部署—配置NovaCentOS
- CentOS7.0+OpenStack+kvm雲平臺部署—配置GlanceCentOS
- centos 7.0 nginx 1.7.9成功安裝過程CentOSNginx
- 第一章 FFmpeg初體驗:在Centos7.9下編譯FFmpeg!CentOS編譯
- RHEL 7.X 或CentOS 7 安裝 11.2.0.4 RAC碰到的問題CentOS
- Linux雲端計算-02_CentOS Linux 7.X系統管理LinuxCentOS
- 如何在 CentOS、RHEL 和 Fedora 上安裝 DHCP 服務CentOS
- 如何在 Fedora、CentOS、RHEL 中啟用 RPM Fusion 倉庫CentOS
- 如何醬域名解析在伺服器上面伺服器
- 在 Fedora 系統上設定 zsh
- 在 Fedora 上優化 bash 或 zsh優化
- 在 Fedora 上使用 SSH 埠轉發
- 在 Fedora 中利用 ffsend 使用 Firefox SendFirefox
- 把Discord安裝在Fedora Linux上Linux