📅  最后修改于: 2023-12-03 14:44:35.870000             🧑  作者: Mango
当使用NGINX与PHP-FPM时,你可能会遇到上述错误。这通常意味着 NGINX connector 无法找到PHP-FPM套接字。这可能是由于许多原因引起的。在接下来的部分中,我们将探讨这个问题的可能原因,并提供解决方案。
PHP-FPM套接字可能没有启动或已被删除。在这种情况下,请使用以下命令启动PHP-FPM:sudo systemctl restart php7.2-fpm
。
NGINX connector 可能未能找到正确的PHP-FPM套接字路径。检查NGINX配置文件中的PHP-FPM套接字设置。路径应该类似于:fastcgi_pass unix:/var/run/php7.2-fpm.sock;
. 如果其路径不正确,则报错No such file or directory
。
当PHP-FPM套接字属于其他用户或组时,NGINX将无法访问文件。在这种情况下,请将PHP-FPM套接字的用户名更新为NGINX用户,并更新PHP-FPM配置文件:
sudo chown nginx:nginx /var/run/php7.2-fpm.sock
sudo service php7.2-fpm restart
确保PHP-FPM套接字已启动并存在:
sudo systemctl status php7.2-fpm
检查NGINX配置文件中的套接字路径是否正确:
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass unix:/var/run/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
更新PHP-FPM套接字的所有权以保证权限正确:
sudo chown nginx:nginx /var/run/php7.2-fpm.sock
sudo service php7.2-fpm restart
如果你按照上述步骤操作并仍无法解决问题,请检查NGINX和PHP-FPM的日志以获取更多信息。