macOS下安装配置完nginx+ php@7.4环境后,一般使用ThinkPHP的框架已可正常运行,但是FastAdmin运行时还是会有一些不兼容的问题。
1. 访问后台:模块不存在
比如后台入口文件为admin123.php
,访问它会报模块不存在admin123.php
。
这个问题可以通过修改重写规则来解决。
location / {
if (!-e $request_filename) {
rewrite ^(.+?\.php)(/.+)$ /$1?s=$2 last; #加上这一行
rewrite ^(.*)$ /index.php?s=/$1 last; #原有的
break;
}
}
2. 后台:语言包加载失败,数据不显示
后台页面里的列表不显示数据,通过浏览器控制台发现报错Script error for "lang", needed by: fast
,表示加载不了语言包。查看语言包的请求路径发现没有带上后台的入口。
再排查,发现是因为Config.moduleurl
为空导致的。
这个问题解决方式也很简单,就是修改下后台入口文件
// 设置根url
\think\Url::root('/admin123.php');
参数以/
开头,后面是后台入口的文件名。