CentOS 7 系统安装双版本PHP服务
服务器安装双版本 PHP 是研发 / 生产环境的常用配置,核心优势是兼顾兼容性、灵活性与稳定性,既解决老项目的运行依赖,又支持新项目的新特性开发,同时能降低版本升级的风险,是企业级服务器运维的实用方案。
官网:https://www.php.net
安装与初始化配置
命令
[rover@localhost ~]$ su -
[root@localhost ~]# cd /usr/local/src
#安装依赖环境
[root@localhost src]# yum -y install libxml2* openssl* libcurl* libjpeg* libpng* freetype* libmcrypt* gcc sqlite-devel epel-release oniguruma oniguruma-devel
#安装 sqlite
[root@localhost src]# yum -y install sqlite-devel
#安装 EPEL 仓库
[root@localhost src]# yum install epel-release -y
#安装 oniguruma 相关包
[root@localhost src]# yum install oniguruma oniguruma-devel -y
#如果上面的命令失败,尝试从 CentOS 7 的 powertools 或 extras 仓库安装
[root@localhost src]# yum --enablerepo=epel install oniguruma-devel -y
#下载php7.4.33安装包
[root@localhost src]# wget -c https://www.php.net/distributions/php-7.4.33.tar.gz
#解压安装包
[root@localhost src]# tar -zxvf php-7.4.33.tar.gz
[root@localhost src]# cd php-7.4.33
[root@localhost php-7.4.33]# ./configure --prefix=/usr/local/php74 --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo
编译并安装
[root@localhost php-7.4.33]# make && make install (过程约10分钟, 因系统配置而定)
配置服务
[root@localhost php-7.4.33]# ln /usr/local/php74/sbin/php-fpm /usr/local/sbin/php74-fpm
[root@localhost php-7.4.33]# cp /usr/local/src/php-7.4.33/php.ini-development /usr/local/php74/lib/php.ini
[root@localhost php-7.4.33]# cp /usr/local/php74/etc/php-fpm.conf.default /usr/local/php74/etc/php-fpm.conf
[root@localhost php-7.4.33]# cp /usr/local/php74/etc/php-fpm.d/www.conf.default /usr/local/php74/etc/php-fpm.d/www.conf
[root@localhost php-7.4.33]# cp -R /usr/local/php74/sbin/php-fpm /etc/init.d/php74-fpm
[root@localhost php-7.4.33]# echo 'export PATH="/usr/local/php74/bin:$PATH"' >> /etc/profile
[root@localhost php-7.4.33]# source /etc/profile
[root@localhost php-7.4.33]# vim /usr/local/php74/etc/php-fpm.d/www.conf
- 23 user = nobody
- 24 group = nobody
+ 23 user = www
+ 24 group = www
- 36 listen = 127.0.0.1:9000
+ 36 listen = 127.0.0.1:9074
[root@localhost php-7.4.33]# vim /usr/lib/systemd/system/php74.service
[Unit]
Description=PHP serve
After=network.service
StartLimitIntervalSec=0
[Service]
Type=forking
Restart=always
RestartSec=1
ExecStart=/usr/local/php74/sbin/php-fpm
ExecStop=/usr/local/php74/sbin/php_stop.sh
[Install]
WantedBy=multi-user.target
#将PHP加入开机启动项并启动PHP7.4服务
[root@localhost php-7.4.33]# systemctl enable php74
[root@localhost php-7.4.33]# systemctl start php74