使用oneinstack怎么安装多个PHP版本

使用oneinstack怎么安装多个PHP版本

经验文章nimo972025-03-29 16:26:2010A+A-



OneinStack 是一个流行的服务器环境搭建工具,支持快速安装 LNMP(Linux + Nginx + MySQL + PHP)环境。它默认安装一个 PHP 版本,但如果你需要安装多个 PHP 版本并进行切换,可以通过以下步骤实现。

cd /oneinstack
./oneinstack.sh

1、按步骤正常安装第一个PHP

2、安装第二个版本PHP,如php7.4

关闭刚安装的php-fpm

service php-fpm stop

2.1、修改oneinstack/options.conf的php存放目录:

php_install_dir=/usr/local/php74

开始安装php7.4版本,步骤和1一样,只需安装php

以此类推,安装完所需版本后,修改php-fpm.conf配置,找到

[www]
listen = /dev/shm/php-cgi.sock 
改为:
[www]
listen = /dev/shm/php-cgi74.sock 

注:/dev/shm/php-cgi.sock 是一个 UNIX 域套接字(Unix Domain Socket),用于 PHP-FPM 与 Nginx 之间的进程间通信(IPC)。相比传统的 TCP 通信,UNIX 域套接字具有更高的性能和更低的延迟,因此在同一台服务器上运行时,通常会选择这种方式。
套接字文件通常位于 /dev/shm/ 或 /var/run/ 目录下。

2.2、命令行启动php版本

service php-fpm stop  //启动默认版本
# /usr/local/php74/sbin/php-fpm //启动7.4版本

查看下php进程是否成功启动

# ps -ax | grep php

3.配置 Nginx 支持多个 PHP 版本

为了让不同的站点使用不同的 PHP 版本,需要修改 Nginx 配置文件。

(1)找到 Nginx 配置文件

通常 Nginx 的配置文件位于
/usr/local/nginx/conf/vhost 目录下,每个站点有一个独立的配置文件。

(2)修改站点配置

假设站点 example.com 需要使用 PHP 8.0,而默认是 PHP 7.4。打开站点的 Nginx 配置文件:

vim /usr/local/nginx/conf/vhost/example.com.conf

找到以下内容(默认 PHP 处理部分):

location ~ [^/]\.php(/|$) {
    fastcgi_pass  unix:/dev/shm/php-cgi.sock ; 
    include fastcgi.conf;
}

将其中的 fastcgi_pass 改为 PHP7.4 的 FastCGI 监听地址:

location ~ [^/]\.php(/|$) {
    fastcgi_pass  unix:/dev/shm/php-cgi74.sock; //2.1中所改的listen路径
    include fastcgi.conf;
}

(3)重启 Nginx

修改完成后,保存并退出,然后重启 Nginx:

service nginx restart

这种方法可以满足在同一台服务器上运行多个 PHP 版本的需求,适合开发、测试和生产环境的灵活配置。

点击这里复制本文地址 以上内容由nimo97整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

尼墨宝库 © All Rights Reserved.  蜀ICP备2024111239号-7