Centos下PHP5升級為PHP7的方法

2020-07-16 10:05:50

1、首先下載PHP7安裝包,使用wget http://am1.php.net/distributions/php-7.2.0.tar.bz2,或者直接存取下載,然後ftp到linux伺服器

2、解壓壓縮包,tar –xjf php-7.0.2.tar.bz2

3、進入資料夾,cd php-7.0.2 ,安裝必要的依賴工具,

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

這裡主要是升級,一般在php5都安裝了,所以這一步可以省略

4、安裝幾個依賴(必須安裝,否則後面無法生成apache所用的libphp7.so檔案)

yum -y install perl
yum –y install perl-devel
yum -y install httpd-devel
find /usr  -name apxs 取得所用路徑,後面編譯時用到。

5、準備編譯工作

./configure --prefix=/usr/local/php7 --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs

**注意:其中的 –enable-gd-native-ttf 可以不安裝,處理圖形用的,如果有需求可以以後以擴充套件形式裝

–with-apxs2=/usr/bin/apxs 後面的路徑改為第4步得到的路徑

–prefix=/usr/local/php7 單獨安裝在php7的資料夾,避免和php5衝突**

6、編譯

make

這一步容易出現很多問題,

如果遇到譬如:undefine 。。。。

/ext/cli./php …
Openssl

等等錯誤,而且確定安裝了相關的模組,則一般清除之前的編譯,刪除相關檔案後重新編譯

make clean
rm –rf /usr/local/php7

一般都可以解決問題。

7、安裝

Make install

8、準備組態檔

cp php.ini-developement /etc/php.ini   //根據實際情況,可以使用production或者development預設設定
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

9、需要修改apache的組態檔

Vi /etc/httpd/conf/httpd.conf 找到LoadModule php7_module modules/libphp7.so,如果沒有手動加上,

將LoadModule php5_module modules/libphp5.so註釋掉

cp /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_5
Vi /etc/httpd/conf.d/php.conf

改為下面這樣:(將涉及到php5的註釋掉,改為php7相關模組)

<IfModule prefork.c>
  LoadModule php7_module modules/libphp7.so
</IfModule>

<Files ".user.ini">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
        Satisfy All
</IfModule>
</Files>
DirectoryIndex index.php
# mod_php options
<IfModule  mod_php7.c>
    <FilesMatch .php$>
        SetHandler application/x-httpd-php
</FilesMatch>
    php_value session.save_handler "files"
    php_value session.save_path    "/var/lib/php/session"
    php_value soap.wsdl_cache_dir  "/var/lib/php/wsdlcache"
</IfModule>

10、重新啟動apache伺服器

service httpd restart

更多程式設計相關內容,請關注TW511.COM程式設計教學欄目!

以上就是Centos下PHP5升級為PHP7的方法的詳細內容,更多請關注TW511.COM其它相關文章!