You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony新安装后访问测试页面出现404错误求助

Symfony 幸运数字页面404错误排查方案

1. 修正路由配置的语法与路径

你的routes.yaml存在两个问题:

  • YAML不允许在配置行后加括号注释,必须删掉( I also tried without the /CYTest project folder )这段内容,否则会导致路由解析失败。
  • 本地开发时,Symfony的根路径就是项目目录本身,不需要在路由path里添加/CYTest。正确的路由配置应为:
app_lucky_number:
    path: /lucky/number
    controller: App\Controller\LuckyController::number

配置完成后,访问http://localhost:8000/lucky/number(对应Symfony内置服务器的默认地址)即可。

2. 确认控制器文件与类的规范

  • 确保CYTest/src/Controller/LuckyController.php的文件名是首字母大写的LuckyController.php,文件内的类名也必须是LuckyController,与文件名严格一致(符合PSR-4自动加载规范)。
  • 你的控制器代码在Symfony 6.2中是合规的,无需继承基类,这部分没问题。

3. 清除开发环境缓存

缓存可能导致新路由无法生效,执行以下命令清除缓存:

php bin/console cache:clear --env=dev

4. 验证路由是否成功注册

执行命令查看所有已加载的路由,确认app_lucky_number存在:

php bin/console debug:router

如果看不到该路由,检查routes.yaml的缩进(必须用空格,不能用Tab),排查是否存在其他语法错误。

5. 主机环境的版本兼容问题

你主机使用的Symfony 2.3.42与本地的6.2.7版本差异极大,部署时需注意:

  • Symfony 2.3的控制器必须继承Symfony\Bundle\FrameworkBundle\Controller\Controller基类,你的当前代码在2.3环境下会报错。
  • 2.3的路由配置文件是app/config/routing.yml,路由写法与6.x不同,控制器引用格式也有区别。
  • 2.3的Web根目录是项目下的web文件夹,主机必须将网站根目录指向该文件夹,否则访问路径会出错。

内容的提问来源于stack exchange,提问作者Complete Noob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 16:32:16