登录
首页 >  文章 >  php教程

XAMPP多端口部署Flarum教程

时间:2026-05-26 14:41:26 177浏览 收藏

想在XAMPP上顺利跑起Flarum论坛却频频遭遇403、404或白屏?根本原因在于XAMPP默认仅监听80端口且未启用关键模块——必须手动开启mod_rewrite、激活PHP的fileinfo扩展、解除putenv/proc_open等函数限制,并配置Apache监听新端口(如8080)及对应虚拟主机;任何一环缺失都会导致请求根本无法抵达Flarum,连错误日志都静默消失。这篇教程直击三大致命卡点,手把手带你绕过Nginx伪静态陷阱、修复Windows权限异常、验证配置生效,让Flarum在本地开发环境真正“活”起来。

XAMPP环境下多端口部署Flarum论坛

直接说结论:XAMPP 默认只监听 80 端口,Flarum 要跑起来必须启用 mod_rewrite、开启 fileinfo 扩展,并手动配置额外端口(如 8080)+ 虚拟主机,否则访问会 403、404 或白屏。

Apache 需要监听新端口并启用虚拟主机

XAMPP 的 httpd.conf 默认不开放多端口,且 httpd-vhosts.conf 是被注释掉的。不改这两处,localhost:8080 根本不会被 Apache 接收。

  • 打开 D:\xampp\apache\conf\httpd.conf(路径按你实际安装位置调整),找到 Listen 80 行,在下方新增一行:Listen 8080
  • 继续向下找到 #Include conf/extra/httpd-vhosts.conf,删掉开头的 # 取消注释
  • 然后编辑 D:\xampp\apache\conf\extra\httpd-vhosts.conf,确保顶部有 NameVirtualHost *:80NameVirtualHost *:8080(注意不是 ## 开头)
  • 添加一个指向 Flarum 目录的 VirtualHost 块,比如:
    <VirtualHost *:8080><br>    DocumentRoot "D:/xampp/htdocs/flarum"<br>    ServerName localhost<br>    <Directory "D:/xampp/htdocs/flarum"><br>        AllowOverride All<br>        Require all granted<br>    </Directory><br></VirtualHost>

PHP 必须启用 fileinfo 扩展且禁用部分函数

Flarum 启动时会检查 fileinfo,缺失直接报错 “The fileinfo extension is not loaded”,同时 putenvproc_open 这些函数若被禁用,会导致安装页卡死或后台无法加载扩展。

  • 编辑 D:\xampp\php\php.ini,搜索 php_fileinfo.dll,去掉前面的分号:extension=php_fileinfo.dll
  • 搜索 disable_functions,把其中的 putenvpcntl_signalproc_open 全部删掉(保留其他默认禁用项)
  • 保存后,**必须重启 Apache**(仅重启 PHP 不生效)
  • 验证是否生效:在 htdocs 下建个 info.php,内容为 ,浏览器访问 http://localhost/info.php,搜索 fileinfodisable_functions 确认状态

Nginx 伪静态规则不适用于 XAMPP

XAMPP 用的是 Apache,不是 Nginx,所以网上流传的那些 location / { try_files $uri $uri/ /index.php?$query_string; } 规则**完全不能直接复制进 XAMPP**。它对应的是 Apache 的 .htaccess 文件,而且依赖 mod_rewrite 是否启用。

  • 确认 D:\xampp\apache\conf\httpd.conf 中这行已取消注释:LoadModule rewrite_module modules/mod_rewrite.so
  • 确保 Flarum 根目录下存在 .htaccess 文件(官方安装包自带,别删)
  • 如果访问仍跳转到 Apache 默认页或报 500,检查 .htaccess 第一行是否为:RewriteEngine On,且没有语法错误
  • 若仍无效,临时把 .htaccess 内容替换成最小可用版:
    RewriteEngine On<br>RewriteCond %{REQUEST_FILENAME} !-d<br>RewriteCond %{REQUEST_FILENAME} !-f<br>RewriteRule ^ index.php [QSA,L]

访问路径和权限容易被忽略的细节

很多人解压 Flarum 到 htdocs/flarum 后直接访问 http://localhost:8080,结果看到 Apache 欢迎页或 403 —— 这往往是因为没配对 DocumentRoot,或 Windows 下文件夹权限继承异常。

  • Flarum **必须通过子目录访问**(如 http://localhost:8080),不能把 Flarum 文件直接扔进 htdocs 根目录再用 http://localhost 访问,否则路由和重写全乱
  • Windows 下若提示 “You don’t have permission to access this resource”,除了改 httpd-vhosts.confRequire all granted,还要右键 flarum 文件夹 → 属性 → 安全 → 编辑 → 给 EveryoneUsers 添加“读取”权限(开发环境可接受)
  • 安装过程中填写数据库名时,**不要用中文或特殊符号**,纯英文小写最佳,比如 flarum_db;密码也避免 @/ 等 URL 敏感字符,否则后续后台连接可能失败

最常卡住的地方其实是 fileinfo 没开 + mod_rewrite 没启 + httpd-vhosts.conf 里漏了 NameVirtualHost *:8080。三个点缺一不可,少一个都会让页面静默失败,连错误日志都不吐——因为 Apache 根本没把请求交给 Flarum 处理。

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>