先说明一下我的水平:纯小白,之前只做过 WordPress 一键安装,这次是自己手动部署一份 PHP 源码,直接卡死在第一步。
现状是——宝塔面板装好了,站点建好了,数据库也导进去了,配置文件里的数据库信息我也照着填了,但打开首页就是 500。
我做的步骤
- 宝塔一键装 nginx + PHP 7.4 + MySQL
- 新建站点,绑定域名,根目录指向源码的 public 目录
- 新建数据库,导入 sql 文件(用的网页导入,大概 20M)
- 改
.env里的数据库账号密码 - 访问首页 → 500
日志(我照着自己找到的两处贴出来)
nginx 错误日志:
2026/09/09 20:41:12 [error] 12345#0: *88 FastCGI sent in stderr:
"PHP message: PHP Fatal error: Uncaught Error: Call to undefined function
mb_strlen() in /www/wwwroot/xxx/app/common.php:214
Stack trace: #0 {main} thrown in /www/wwwroot/xxx/app/common.php on line 214"
PHP 那边我只看到一行,不知道还有没有别的地方要看。
我已经试过但没用的
- 重启 PHP、重启 nginx —— 没用
- 把整个目录权限改成 777 —— 没用
- 换 PHP 7.2 / 8.0 再试 —— 7.2 还是 500,8.0 报的错不一样
- 把伪静态规则加上 —— 也没变化
想请教的问题
- 日志里这个
Call to undefined function mb_strlen(),是缺扩展吗?缺哪个,怎么装?我看宝塔里扩展那页有一堆选项,不太敢乱勾。 - 装完扩展需要重启什么吗?还是自动生效?
- 除了 nginx 错误日志和 PHP 日志,还有没有别的地方能看到更完整的报错?现在这样只能看到一条,感觉没头绪。
- 网页导入 20M 的 sql 会不会只导了一半?怎么确认表都建齐了?
先谢谢各位大佬,有遇到过的麻烦指点一下方向,我照着一步步试。有进展我回来更新。