Centos7环境安装PHP8

一、安装必要的模块

yum install -y bzip2-devel libcurl-devel libxml2-devel sqlite-devel oniguruma oniguruma-devel libxml2 libxml2-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel zstd libzstd-devel curl libcurl-devel libpng libpng-devel

二、安装PHP

1.下载PHP官方包

在https://www.php.net官网中,查看安装包链接,选择上方“download”, Current Stable PHP 8。

wget https://www.php.net/distributions/php-8.1.9.tar.gz
tar -xzxvf php-8.1.9.tar.gz

2.设置编译需要加载的模块

mkdir php-8.1.9-build
cd php-8.1.9-build
../php-8.1.9/configure --prefix=/usr/local/php-8.1.9 --enable-fpm --with-mysqli --enable-mbstring --with-bz2 --with-curl --enable-gd --with-zip --with-zlib --with-openssl
make -j2 # 双核服务器参数配置
make install
cd ..

3.设置环境变量

#设置环境变量
touch /etc/profile.d/php.sh
chmod 777 /etc/profile.d/php.sh 
echo -e '\nexport PATH=/usr/local/php-8.1.9/bin:$PATH\n' >> /etc/profile.d/php.sh
source /etc/profile.d/php.sh

4.创建配置文件,并将其复制到正确的位置。

# 在源代码目录 php-8.1.9 中下执行以下命令
cd php-8.1.9
cp php.ini-development /usr/local/php-8.1.9/lib/php.ini
cd ..
cp /usr/local/php-8.1.9/etc/php-fpm.conf.default /usr/local/php-8.1.9/etc/php-fpm.conf
cp /usr/local/php-8.1.9/etc/php-fpm.d/www.conf.default /usr/local/php-8.1.9/etc/php-fpm.d/www.conf

三、配置php-fpm服务到systemctl

1.打开php-fpm.conf

vim /usr/local/php-8.1.9/etc/php-fpm.conf

找到以下内容并修改

; Pid file

; Note: the default prefix is/usr/local/php-8.1.9/var

; Default Value: none

pid = /var/run/php-fpm.pid

include=/usr/local/php-8.1.9/etc/php-fpm.d/*.conf

;/usr/local/php-8.1.9/etc/php-fpm.d

 2.新建php-fpm服务文件

vim /usr/lib/systemd/system/php-fpm.service
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
 
[Service]
Type=forking
PIDFile=/var/run/php-fpm.pid
ExecStart=/usr/local/php-8.1.9/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

 3.加载服务

systemctl start php-fpm.service
 
systemctl status php-fpm.service

4.配置开机启动服务

systemctl enable php-fpm.service

systemctl stop php-fpm.service

systemctl restart php-fpm.service

systemctl disable php-fpm.service

5,编辑nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

 添加简单的配置:

location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            include        fastcgi_params;
            fastcgi_param DOCUMENT_ROOT   $realpath_root;
		    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        }

 重启nginx  

nginx -s reload

 附录:

1、提示No package 'libzip' found或者(libzip >= 0.11)

#卸载老版本的libzip
yum remove libzip
#下载安装libzip-1.2.0
wget https://libzip.org/download/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make && make install

安装完成后,查看是否存在/usr/local/lib/pkgconfig目录,如果存在,执行如下命令来设置PKG_CONFIG_PATH:

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

2、出现No package ‘oniguruma‘ found错误

oniguruma是一个处理正则表达式的库,在编译安装php时,如果使用--enable-mbstring 参数, 开启mbstring扩展,则会出现这个错误。

原因:mbstring的正则功能需要oniguruma的支持,系统中却没有oniguruma库。

解决方法:

1、在'--enable-mbstring'参数后添加'--disable-mbregex'参数,意为不使用mbstring的正则功能,不再需要oniguruma库。

2、使用源码安装oniguruma库

wget https://github.com/kkos/oniguruma/releases/download/v6.9.5_rev1/onig-6.9.5-rev1.tar.gz -O onig-6.9.5.tar.gz

./configure --prefix=/usr --libdir=/lib64

在使用./configure时添加‘--libdir=/lib64’参数,安装完成后重新编译PHP,如果不使用该参数则仍会报错。

相关推荐

  1. Centos7环境安装PHP8

    2024-02-02 22:58:01       58 阅读
  2. CentOS 安装 PHP 7

    2024-02-02 22:58:01       37 阅读
  3. centos7 安装php82

    2024-02-02 22:58:01       41 阅读
  4. Centos7、ubuntu22.04.3安装php7.4,mysql8.0

    2024-02-02 22:58:01       44 阅读
  5. CentOS 7.8 安装 Docker

    2024-02-02 22:58:01       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-02 22:58:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-02 22:58:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-02 22:58:01       82 阅读
  4. Python语言-面向对象

    2024-02-02 22:58:01       91 阅读

热门阅读

  1. PHP面试题

    2024-02-02 22:58:01       55 阅读
  2. 2款网络监控系统软件,你更喜欢哪款?

    2024-02-02 22:58:01       51 阅读
  3. 速盾:服务器接入免备案CDN节点的好处有哪些

    2024-02-02 22:58:01       48 阅读
  4. 用于Web导出excel

    2024-02-02 22:58:01       51 阅读
  5. 关于后端异步+前端进度条的简单实现

    2024-02-02 22:58:01       45 阅读
  6. Three.js PBR 物理渲染

    2024-02-02 22:58:01       57 阅读
  7. this.$set()用法,强制刷新,新删改查

    2024-02-02 22:58:01       53 阅读
  8. JVM 内存配置参数积累

    2024-02-02 22:58:01       53 阅读
  9. vue + element 页面滚动计算百分比 + 节流函数

    2024-02-02 22:58:01       50 阅读
  10. 11.29 校招 实习 内推 面经

    2024-02-02 22:58:01       54 阅读