Centos 7升级 PHP7 到 PHP8
安装环境请参考 博客: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
试试
本作品采用《CC 协议》,转载必须注明作者和本文链接
不知道自己编译跟用 remi 源有啥区别