使用oneinstack怎么安装多个PHP版本
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 版本的需求,适合开发、测试和生产环境的灵活配置。