PHP 7.4网站无法运行主因是Nginx未正确转发请求至php-fpm-74,需依次检查:①php-fpm-74服务是否真正在运行且无秒退;②Nginx配置中fastcgi_pass与php-fpm的listen值(如unix:/tmp/php-cgi-74.sock或127.0.0.1:9000)是否严格一致;③网站根目录属主为www:www、index.php权限为644且无错误.user.ini限制。

PHP 7.4安装宝塔面板后网站无法运行,不是PHP没装好,而是Nginx没把请求正确转给php-fpm-74进程,或者网站目录权限、配置路径根本对不上——先别改代码,按顺序查这三块就能定位90%的问题。
确认php-fpm-74服务真正在跑
进宝塔 → 软件商店 → 找到PHP-7.4 → 点“设置” → 看“服务管理”里php-fpm状态是不是绿色“正在运行”。
如果不是,点“启动”,观察是否秒退;如果秒退,立刻去终端执行:systemctl status php-fpm-74,重点看最后一行错误提示。
常见失败原因:端口被占(Address already in use)或socket路径冲突。此时执行netstat -tuln | grep :9000查端口占用,或检查/www/server/php/74/etc/php-fpm.d/www.conf里的listen =值是否和Nginx配置一致。
立即学习“PHP免费学习笔记(深入)”;
【listen必须是unix:/tmp/php-cgi-74.sock或127.0.0.1:9000,不能写错一个字符】
核对Nginx配置里fastcgi_pass是否匹配
进宝塔 → 网站 → 选你的站点 → “配置文件”,找到location ~ \.php$ {这段。
看里面的fastcgi_pass值:如果是127.0.0.1:9000,就去/www/server/php/74/etc/php-fpm.d/www.conf确认listen = 127.0.0.1:9000;如果是unix:/tmp/php-cgi-74.sock,就确认listen = /tmp/php-cgi-74.sock。
不一致就502,改完保存 → 点“重载配置”,不是“重启Nginx”。
这一步操作起来很简单,直接复制listen值粘贴过去就行。
检查网站根目录属主和权限
第一步:终端执行ls -ld /www/wwwroot/your-site,输出里第三第四字段必须是www www,不是root root。
第二步:如果不是www,执行chown -R www:www /www/wwwroot/your-site。
第三步:再查关键文件权限,比如ls -l /www/wwwroot/your-site/index.php,权限至少要是-rw-r--r--(即644),否则PHP读不到文件,页面空白或报500。
第四步:顺手检查/www/wwwroot/your-site下有没有.user.ini,里面若写了open_basedir但路径不含当前目录,也会导致PHP拒绝执行——删掉或修正路径。
快速验证是否修好
方法一:终端执行curl -I http://127.0.0.1,返回HTTP/1.1 200 OK说明本地通了。
方法二:浏览器访问http://你的服务器IP,能打开首页就说明Web层已通;再访问http://你的IP/phpinfo.php(需提前放个含<?php phpinfo();?>的文件),能输出PHP信息才算PHP真正跑起来了。
方法三:打开/www/wwwlogs/yourdomain.com.error.log,用tail -f实时追日志,刷新页面,看新增行里有没有connect() to unix:/tmp/php-cgi-74.sock failed这类线索——有就回头再盯socket权限和路径。



















