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 页面版本