Centos6 編譯PHP7步驟

下載最新的PHP版本,此時的PHP最新版本爲php-7.1.7

首先先裝上一堆依賴:

[root@localhost src]# yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel

開始安裝PHP7:

[root@localhost src]# tar -zxvf php-7.1.7.tar.gz

[root@localhost src]# cd php-7.1.7

[root@localhost php-7.1.7]# ./configure \

> --prefix=/usr/local/php7 \

> --with-config-file-path=/usr/local/php7/etc \

> --with-apxs2=/usr/local/apache2/bin/apxs \

> --with-pdo-mysql=mysqlnd \

> --with-mysqli=mysqlnd \

> --with-mysql-sock=/var/lib/mysql/mysql.sock \

> --with-libxml-dir=/usr/local/libxml2 \

> --with-png-dir=/usr/local/libpng \

> --with-jpeg-dir=/usr/local/jpeg \

> --with-freetype-dir=/usr/local/freetype \

> --with-gd=/usr/local/gd \

> --with-zlib-dir=/usr/local/zlib \

> --with-mcrypt=/usr/local/libmcrypt \

> --with-xpm-dir=/usr/lib64 \

> --enable-soap \

> --enable-mbstring=all \

> --enable-mysqlnd \

> --enable-sockets \

> --enable-fpm \

> --enable-fastcgi \

> --enable-opcache

上面編譯時配置支持了很多東西,可按需要進行添加,檢查沒有錯誤,就可以進行安裝,若有錯誤,則根據提示依次安裝相關依賴庫。

然後就可以開始編譯安裝了:

[root@localhost php-7.1.7]# make

[root@localhost php-7.1.7]# make install
安裝完成後,將源碼包中的配置文件複製到PHP安裝目錄下

[root@localhost php-7.1.7]# cp php.ini-development /usr/local/php7/etc/php.ini

複製php-fpm配置文件:

[root@localhost php-7.1.7]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf

[root@localhost php-7.1.7]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

複製php-fpm啓動腳本,用於啓動php-fpm

[root@localhost php-7.1.7]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php7-fpm

[root@localhost php-7.1.7]# chmod 755 /etc/init.d/php7-fpm

啓動php-fpm:

[root@localhost php-7.1.7]# /etc/init.d/php7-fpm start

php-fpm支持的操作:

start:啓動PHP的FastCGI進程

stop:強制終止PHP的FastCGI進程

quit:平滑終止PHP的FastCGI進程

restart:重啓PHP的FastCGI進程

reload:重新加載PHP的php.ini

logrotate:重新啓用log文件

切換PHP版本,修改PHP的環境變量:

[root@localhost php-7.1.7]# vim /etc/profile

PATH=/usr/local/php/bin:$PATH
export PATH

將這裏的路徑切換成PHP7的安裝路徑,即可切換成php7的版本了

[root@localhost php-7.1.7]# source /etc/profile

當需要爲PHP添加擴展時,在Linux下需要進行編譯,例如安裝openssl擴展:

首先進入源碼安裝包中ext下的openssl目錄中

[root@localhost openssl]# phpize

發現會報錯:

Cannot find config.m4. Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module

這時需要再將該目錄下的config0.m4複製到config.m4中

[root@localhost openssl]# cp config0.m4 config.m4

[root@localhost openssl]# phpize

[root@localhost openssl]# ./configure --with-php-config=/usr/local/php7/bin/php-config

[root@localhost openssl]# make

[root@localhost openssl]# make install

然後再修改php.ini添加extension=openssl.so即可

此時若重啓Apache,則會報如下錯誤:

/etc/init.d/httpd: line 80: 1612 Segmentation fault $HTTPD -k $ARGV

這是因爲Apache配置模塊加載錯誤導致的,修改Apache配置文件httpd.conf:

#LoadModule php5_module module/libphp5.so

LoadModule php7_module module/libphp7.so

此時再次重啓httpd服務即可。

發佈了40 篇原創文章 · 獲贊 51 · 訪問量 28萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章