Centos 7升級 PHP7 到 PHP8

生活無限好發表於2020-12-07

安裝環境請參考 部落格:Linux 環境下 PHP 專案基礎執行環境搭建(PHP 7.3.6 + MySQL 8.0.16...

更新系統軟體

yum update

編譯安裝 php

下載最新版 php8 原始碼包

cd /root & wget -O php8.tar.gz https://www.php.net/distributions/php-8.0.0.tar.gz

解壓原始碼包

tar -xvf php8.tar.gz

進入解壓目錄

cd php-8.0.0

編譯配置的時候,這裡如果上一步的某些依賴包沒有安裝好,就會遇到很多configure error,安裝相關軟體開發包即可;以下為可能需要安裝的包:

yum install oniguruma-devel
yum install sqlite3-devel

開始編譯
如果不需要原來的 PHP 版本,可以將編譯配置中以下內容修改為單個 PHP 的設定

  • --prefix=/usr/local/php8 替換為 --prefix=/usr/local/php
  • --with-config-file-path=/etc/php8 替換為 --with-config-file-path=/etc/php
./configure \
--prefix=/usr/local/php8 \
--with-config-file-path=/etc/php8 \
--enable-fpm \
--with-fpm-user=nginx  \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared  \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir  \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--with-readline \
--enable-session \
--enable-shmop \
--enable-simplexml \
--enable-sockets  \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-libxml-dir \
--with-xsl \
--enable-zip \
--enable-mysqlnd-compression-support \
--with-pear \
--enable-opcache

執行 make && make install 耐心等待編譯安裝成功

配置 php-fpm

cp php.ini-production /etc/php8/php.ini
cp /usr/local/php8/etc/php-fpm.conf.default /usr/local/php8/etc/php-fpm.conf
cp /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf
cp sapi/fpm/init.d.php-fpm /etc/init.d/php8-fpm
chmod +x /etc/init.d/php8-fpm

如果不需要原來的 PHP 版本,可以將編譯配置中以下內容修改為單個 PHP 的設定

  • /usr/local/php8 替換為 /usr/local/php
  • /etc/php8 替換為 /etc/php
  • php8-fpm 替換為 php-fpm

啟動 php-fpm

/etc/init.d/php8-fpm start

最後如果你的 Laravel 版本低於 8.0 的時候有可能會碰到一些奇怪的問題(比如可以檢視 phpinfo(),但是不能正常開啟網頁之類的),可以先看看文件,如果解決不了,可以安裝一個 Laravel 8 試試 :smile:

本作品採用《CC 協議》,轉載必須註明作者和本文連結
www.haowuliaoa.com

相關文章