赞
踩
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 同时运行了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。