phpenv不原生支持fastadmin部署,需手动配置php扩展、将web根目录设为/public、重写nginx/apache伪静态规则、添加系统path或用绝对路径调用php/composer,并确保mysql服务启动。

phpEnv 是 Windows 下的 PHP 环境集成工具(类似 XAMPP、WampServer),但它不原生支持 FastAdmin 的标准部署流程——因为 FastAdmin 依赖 thinkphp 的路由机制、伪静态规则和 CLI 命令(如 php think migrate:run),而 phpEnv 默认的 Nginx/Apache 配置、PHP-FPM 启动方式、PATH 环境变量均未适配这些需求。
直接双击启动 phpEnv 后放上 FastAdmin 代码,90% 会遇到:白屏、404、500 Internal Server Error、php think 命令报错“不是内部或外部命令”等问题。
phpEnv 中 PHP 版本和扩展必须手动核对
FastAdmin 要求 PHP ≥ 7.2(官方推荐 7.4 或 8.0+),且必须启用以下扩展:
mbstringopensslpdo_mysqlcurljsonxmlzip-
gd(上传缩略图需要)
phpEnv 默认只开 mysqli 和 gd,其余需手动编辑 php.ini:
- 打开
phpEnv安装目录 →php\version\php.ini - 取消注释(去掉分号):
;extension=mbstring ;extension=openssl ;extension=pdo_mysql ;extension=curl
改为:extension=mbstring extension=openssl extension=pdo_mysql extension=curl
- 保存后,必须重启
phpEnv的 PHP 服务(点右下角图标 → “Restart PHP”),否则扩展不生效
Apache/Nginx 配置必须重写 root 目录到 /public
FastAdmin 的入口文件是 public/index.php,不是根目录下的 index.php。若直接把整个项目丢进 www 目录,访问时会暴露敏感文件(如 .env、application/)。
在 phpEnv 中:
- Apache 用户:编辑
apache\conf\extra\httpd-vhosts.conf,添加:<virtualhost> DocumentRoot "D:/phpEnv/www/fastadmin/public" ServerName fastadmin.test <directory> AllowOverride All Require all granted </directory></virtualhost> - Nginx 用户:编辑
nginx\conf\vhost\fastadmin.conf,关键段落:location / { root D:/phpEnv/www/fastadmin/public; index index.php; try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { root D:/phpEnv/www/fastadmin/public; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } - 修改 hosts(
C:\Windows\System32\drivers\etc\hosts)加一行:127.0.0.1 fastadmin.test
不改 root 到 /public,就一定会触发 open_basedir restriction 或直接报错 Class 'think\App' not found。
composer 和 php CLI 命令在 phpEnv 下默认不可用
phpEnv 不自带 composer,也不把 PHP 加入系统 PATH,所以:
-
composer install会提示“不是内部或外部命令” -
php think migrate:run会提示“php 不是内部或外部命令”
解决方法只有两个:
-
推荐:下载
composer.phar到项目根目录,然后用绝对路径调用:D:\phpEnv\php\php-8.0.30\php.exe composer.phar install
- 或者手动将
phpEnv\php\php-8.0.30\加入 Windows 系统环境变量PATH,再单独安装 Composer(官网 .exe 安装包即可)
执行迁移前,确认 .env 已配置好数据库,并且 MySQL 服务已在 phpEnv 中启动(端口默认 3306,用户名 root,密码为空)。
最关键的一点:FastAdmin 的 public/.htaccess 在 phpEnv 的 Apache 下可生效,但在其内置 Nginx 下完全无效——Nginx 不读 .htaccess,所有重写逻辑必须硬写进 vhost 配置里,漏一条 location ~ .php$ 或少一个 fastcgi_param SCRIPT_FILENAME,就会 502 或 404。这点最容易被忽略,也最难排查。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











