Symfony 4在MacBook Air安装后出现No route found问题求助
解决Symfony 4安装后访问出现"No route found"的问题
我之前也碰到过一模一样的情况,咱们一步步来排查和解决这个问题:
核心原因:项目模板选择不同
Symfony 4提供了两种核心项目骨架,这就是你两种安装方式结果不同的关键:
symfony/skeleton:极简版骨架,只包含最基础的Symfony核心组件,默认没有配置根路径(/)的路由和欢迎页,所以访问时会触发"No route found"错误。symfony/website-skeleton:完整Web项目骨架,自带默认路由、欢迎页控制器以及常用的Web开发组件,所以能正常显示Symfony欢迎页。
解决方案分两种情况
情况1:保留当前极简项目,手动添加欢迎页路由
如果你想继续用现有的项目,只需要手动配置根路由即可:
- 在项目的
src/Controller目录下新建DefaultController.php,写入以下代码:
<?php namespace App\Controller; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; class DefaultController { /** * @Route("/", name="homepage") */ public function index(): Response { return new Response('<h1>Welcome to Symfony!</h1>'); } }
- 确认路由配置文件
config/routes/annotations.yaml存在且内容正确:
controllers: resource: ../../src/Controller/ type: annotation
- 重启本地开发服务器(先按
Ctrl+C停止当前服务,再运行php bin/console server:run),再次访问http://127.0.0.1:8000就能看到内容了。
情况2:重新安装完整Web项目骨架
如果你想要直接拥有带欢迎页的完整项目,用这条命令重新安装即可:
composer create-project symfony/website-skeleton my_new_project
进入新创建的项目目录,运行php bin/console server:run启动服务,访问http://127.0.0.1:8000就能看到熟悉的Symfony欢迎页了。
额外验证步骤
你可以在终端运行php bin/console debug:router命令,查看当前项目已配置的路由列表:
- 如果看不到
/对应的路由,说明确实是缺少路由配置; - 如果能看到
homepage路由,那只需要重启服务器即可生效。
另外,你用Homebrew安装的PHP7.2.3是完全兼容Symfony4的,所以版本问题可以排除,核心还是项目模板的差异~
内容的提问来源于stack exchange,提问作者Sathishkumar
相关产品推荐
相关产品推荐

