如何检查 nginx 在 Ubuntu 上运行相同版本的 php 版本?

tes*_*esa 0 php nginx digital-ocean

我只是在 Digitalocean 的 Ubuntu 服务器上安装 PHP 并创建一个简单的 PHP 文件,仅用于测试调用phpinfo.php,其中包含:

<?php phpinfo();
Run Code Online (Sandbox Code Playgroud)

当我访问该文件时,出现此错误:

I got this error: 502 Bad Gateway nginx/1.18.0 (Ubuntu)
Run Code Online (Sandbox Code Playgroud)

我检查了 nginx 错误日志中的错误并得到了这个:

2020/10/01 00:16:26 [crit] 23593#23593: *15 connect() to unix:/var/run/php/php7.2-fpm.sock failed (2: No such file or directory)
while connecting to upstream, client: 212.###.###.182, server: 46.#####.106, request: "GET /info.php HTTP/1.1", upstream: 
"fastcgi://unix:/var/run/php/php7.2-fpm.sock:", host: "46..###.###106"
Run Code Online (Sandbox Code Playgroud)

检查 php 版本是:

PHP 7.4.10 (cli) (built: Sep  9 2020 06:36:30) ( NTS )
Run Code Online (Sandbox Code Playgroud)

问题是什么 ?

如何检查 Nginx 是否使用相同版本的 PHP 7.4

小智 6

你必须检查php7.*-fpm.sock它是 4 还是 2

首先,运行这个命令

sudo vim /etc/nginx/sites-available/YOUR.DOMAIN.COM
Run Code Online (Sandbox Code Playgroud)

你会得到这样的东西:

server {
    listen 80;
    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;
    server_name XXXXXXXXXX;

    location / {
            try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }

    location ~ /\.ht {
            deny all;
    }
}
Run Code Online (Sandbox Code Playgroud)

将 PHP 版本更改为 7.4

fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
Run Code Online (Sandbox Code Playgroud)

保存存档

然后重启 Nginx:

sudo service nginx restart
Run Code Online (Sandbox Code Playgroud)

现在使用文件名访问您的应用程序,您将获得 PHP 页面版本