00.1 安装 8.1 版本的PHP

2023年 7月 19日 59.7k 0

0. 开发环境

  • 操作系统:CentOS Linux release 7.9.2009 (Core)

1. 下载安装包

[root@iZ2zehdkhnyvzixuie7bzhZ tmp] pwd
/application/tmp/
[root@iZ2zehdkhnyvzixuie7bzhZ tmp] wget --no-check-certificate https://www.php.net/distributions/php-8.1.21.tar.gz
[root@iZ2zehdkhnyvzixuie7bzhZ tmp] ls
php-8.1.21.tar.gz

2. 安装依赖程序

[root@iZ2zehdkhnyvzixuie7bzhZ tmp] yum install gcc gcc++ libxml2-devel openssl-devel curl-devel readline-devel sqlite-devel

如果安装 oniguruma5phponiguruma5php-devel 时发现链接不可用,可以在 https://rpms.remirepo.net/enterprise/7/remi/x86_64/ 页面下找到可用的链接替换掉下面的链接。

[root@iZ2zehdkhnyvzixuie7bzhZ tmp] yum -y install https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-6.9.8-1.el7.remi.x86_64.rpm
[root@iZ2zehdkhnyvzixuie7bzhZ tmp] yum -y install https://rpms.remirepo.net/enterprise/7/remi/x86_64/oniguruma5php-devel-6.9.8-1.el7.remi.x86_64.rpm

3. 编译安装

[root@iZ2zehdkhnyvzixuie7bzhZ tmp] tar -zxvf php-8.1.21.tar.gz
[root@iZ2zehdkhnyvzixuie7bzhZ tmp] cd php-8.1.21
[root@iZ2zehdkhnyvzixuie7bzhZ php-8.1.21] ./configure --prefix=/application/php/8.1/ \
                                                --enable-fpm \
                                                --with-mysqli=shared,mysqlnd \
                                                --enable-mysqlnd \
                                                --with-pdo-mysql \
                                                --with-pdo-mysql=mysqlnd \
                                                --enable-bcmath \
                                                --with-fpm-user=www-data \
                                                --with-fpm-group=www-data \
                                                --enable-mbstring \
                                                --enable-phpdbg \
                                                --enable-shmop \
                                                --enable-sockets \
                                                --enable-sysvmsg \
                                                --enable-sysvsem \
                                                --enable-sysvshm \
                                                --with-zlib \
                                                --with-curl \
                                                --with-pear \
                                                --with-openssl \
                                                --enable-pcntl \
                                                --with-readline
                                                
[root@iZ2zehdkhnyvzixuie7bzhZ php-8.1.21] make && make install

4. 初始化配置文件

[root@iZ2zehdkhnyvzixuie7bzhZ php-8.1.21] cp /application/tmp/php-8.1.21/php.ini-development /application/php/8.1/lib/php.ini
[root@iZ2zehdkhnyvzixuie7bzhZ php-8.1.21] cp /application/php/8.1/etc/php-fpm.d/www.conf.default /application/php/8.1/etc/php-fpm.d/www.conf
[root@iZ2zehdkhnyvzixuie7bzhZ php-8.1.21] cp /application/php/8.1/etc/php-fpm.conf.default /application/php/8.1/etc/php-fpm.conf

5. 调整配置

防止Nginx将文件不存在的请求,发送到后端的PHP-FPM模块,这样可以避免恶意脚本注入的攻击:

/application/php/8.1/lib/php.ini 配置文件中找到 cgi.fix_pathinfo 配置项 ,然后设置为 0

cgi.fix_pathinfo=0

设置php-fpm模块使用的用户和用户组

/application/php/8.1/etc/php-fpm.d/www.conf 配置文件中找到 usergroup 配置项,都设置为 www-data

user = www-data
group = www-data

6. 添加用户和用户组

[root@iZ2zehdkhnyvzixuie7bzhZ php-8.1.21] groupadd www-data
[root@iZ2zehdkhnyvzixuie7bzhZ php-8.1.21] useradd -g www-data www-data

7. 修改环境变量

/etc/profile 文件尾部加入以下配置项:

PATH=$PATH:/application/php/8.1/bin:/application/php/8.1/sbin
export PATH

生效配置:

[root@iZ2zehdkhnyvzixuie7bzhZ php-8.1.21] source /etc/profile

8. 设置 PHP-FPM 设置为开机自启

创建 systemctl 服务管理的配置文件。

cat > /etc/systemd/system/php8.1-fpm.service

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论