1,安裝php
(1)先安裝如下依賴包
$ yum install -y gcc gcc-c++ autoconf make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
(2) wget在官網下載PHP7.2.0安裝包
解壓php-7.2.0.tar.gz 然後進入目錄,編譯。命令如下:
$ tar -zxvf php-7.2.0.tar.gz
$ cd php-7.2.0
$ ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --with-openssl --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pear --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl
prefix是安裝路徑,config-file-path是php.ini文件讀取位置,默認讀php/lib ,後面是安裝哪些擴展
說明:由於PHP7.2不再支持mysql,而是用mysqli取代。因此會出現上面圖中所示的warning。不過沒關係,如果需要安裝php的mysql擴展,文章後面會有說明。
編譯完成之後,執行安裝命令:
$ make && make install
2,配置全局變量(可以不配置)
$ vi ~/.bash_profile
最下面加上:
alias php=/root/soft/php/bin/php
然後
source ~/.bash_profile
3,配置php
在之前編譯的源碼包中,找到 php.ini-production,複製到/usr/local/php下,並改名爲php.ini:
$ cp php.ini-production /usr/local/php/php.ini
$ php -i | grep php.ini #查看安裝時配置的php.ini的位置
4,PHP7.2的MySQL擴展
由於PHP7.2不再支持mysql,而是用mysqli取代,如果需要安裝php的mysql擴展,請看這裏。
解壓,並進入目錄:
$ tar -zxvf mysql-24d32a0.tar.gz
$ cd mysql-24d32a0
#使用phpize初始化生成configure可執行文件
$ /usr/local/php/bin/phpize
#編譯mysql擴展,使用mysql native driver 作爲mysql鏈接庫
$ ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=mysqlnd
接下來,安裝:
$ make && make install
最後,編輯php.ini文件,在最後面加入 extension=mysql.so 即可。
$ vim /usr/local/php/php.ini
重啓PHP,查看phpinfo()
$ /etc/init.d/php-fpm restart