系统相关
首页 > 系统相关> > nginx 怎么指定 php版本?

nginx 怎么指定 php版本?

作者:互联网

在 Nginx 中指定 PHP 版本通常涉及到配置 Nginx 使用不同的 PHP 处理器,例如 PHP-FPM。以下是设置 Nginx 使用特定 PHP 版本的一般步骤:

1. 安装 PHP-FPM(如果尚未安装)

确保你已经安装了所需版本的 PHP 和 PHP-FPM。例如,如果要使用 PHP 7.4 和 PHP 8.1,你需要安装相应的 PHP-FPM:

sudo apt install php7.4-fpm
sudo apt install php8.1-fpm

Bash

2. 启动 PHP-FPM 服务

确保所需的 PHP-FPM 服务正在运行:

sudo systemctl start php7.4-fpm
sudo systemctl start php8.1-fpm

Bash

并设置为开机自启:

sudo systemctl enable php7.4-fpm
sudo systemctl enable php8.1-fpm

Bash

3. 配置 Nginx

打开你想要配置的 Nginx 站点配置文件,通常位于 /etc/nginx/sites-available/your_site.conf。你可以使用编辑器(如 nano 或 vim)来编辑此文件。

以下是一个示例配置,演示如何将 Nginx 设置为使用 PHP 8.1:

server {
    listen 80;
    server_name your_domain.com;

    root /var/www/your_site;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 指定 PHP-FPM 版本
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

nginx

4. 使用不同版本的 PHP-FPM

如果你想为不同的站点或路径使用不同版本的 PHP,可以复制上述配置,然后更改 fastcgi_pass 指令。例如,为另一个站点使用 PHP 7.4:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 使用不同版本
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

nginx

5. 测试 Nginx 配置

每次更改 Nginx 配置后,请务必测试配置文件的正确性:

sudo nginx -t

Bash

6. 重新加载 Nginx

如果没有错误,你可以重新加载 Nginx 以应用更改:

sudo systemctl reload nginx

Bash

标签:
来源: