centos7原来已安装了php7.4.33,为不影响原来的程序的正常运行,决定在centos7上新安装php8,让php7和php8同时运行。
在这里插入图片描述

安装步骤:

1、进入centos,下载php-8.1.1源码

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

2、解压源码

tar -zxvf php-8.1.1.tar.gz

3、进入解压目录

cd php-8.1.1

4、开始编译

./configure --prefix=/usr/local/php8 --with-config-file-path=/usr/local/php8/etc --enable-fpm --enable-mysqlnd --with-fpm-user=www --with-fpm-group=www --with-curl --enable-gd --with-tidy --with-gettext --enable-intl --with-kerberos --with-libdir=lib64 --with-mysqli --enable-ftp --with-openssl --with-pdo-mysql --with-pdo-sqlite --with-pear --disable-fileinfo --with-xsl --with-zlib --with-bz2 --with-mhash --enable-bcmath --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-calendar --enable-exif

等待执行完成,运行

make && make install

至此终于安装完成了
5、配置 环境变量
打开 /etc/profile

vim /etc/profile

在里面添加

PATH=$PATH:/usr/local/php8/bin
export PATH

保存后加载环境变量

source /etc/profile

6、配置php-fpm
进入解压目录php-8.1.1,然后执行

cp php.ini-production /usr/local/php8/lib/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

7、配置systemctl启动

默认php以php-fpm的形式启动,为了方便区分,这个版本改成php8-fpm
服务文件创建目录:/usr/lib/systemd/system/
创建文件:php8-fpm.service

[Unit]
Description=The PHP FastCGI Process Manager
Documentation=http://php.net/docs.php
After=network.target

[Service]
Type=simple
PIDFile=/usr/local/php8/var/run/php-fpm.pid
ExecStart=/usr/local/php8/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php8/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
LimitNOFILE=1000000
LimitNPROC=1000000
LimitCORE=1000000

[Install]
WantedBy=multi-user.target

保存好之后运行

systemctl daemon-reload

进行重载

8、其他相关配置
php-fpm.conf 中配置:

vi /usr/local/php8/etc/php-fpm.conf

编辑

[global]
pid = run/php8-fpm.pid
error_log = log/php8-fpm.log
log_level = warning

www.conf中配置
编辑 /usr/local/php8/etc/php-fpm.d/www.conf

vi /usr/local/php8/etc/php-fpm.d/www.conf

编辑

listen = 127.0.0.1:9008 

或者

listen = /dev/shm/php8-cgi.sock

相应网站vhost配置中,例如nginx中

server{
location ~ \.php$ {
        fastcgi_pass unix:/dev/shm/php8-cgi.sock;
		fastcgi_index index.php;
		fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include fastcgi_params;
  }
}

9、启动php8-fpm,重新运行nginx即可进行通信

systemctl start php8-fpm
nginx -t
systemctl restart nginx

在这里插入图片描述
至此php8和php7 同时运行了

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐