执行php artisan serve启动项目时RouteFileRegistrar.php 35行报错找不到api.php
错误说明
该报错为Laravel框架启动时路由文件加载失败导致,核心原因是框架按配置路径读取api.php路由文件失败。
报错原文:
In RouteFileRegistrar.php line 35:
require(C:\wamp64\www\routes/api.php): failed to open stream: No such file or directory
排查解决步骤
- 确认
api.php文件是否存在
直接访问C:\wamp64\www\routes目录,检查是否存在api.php文件。Laravel默认安装会自带该文件,手动删除、项目文件同步不全、迁移项目时遗漏都会导致文件缺失。如果确认文件不存在,复制对应Laravel版本的默认api.php文件到该目录即可。 - 确认命令执行目录是否正确
运行php artisan serve的目录必须是项目根目录。如果你的实际项目存放在C:\wamp64\www\子项目名路径下,必须先执行cd C:\wamp64\www\子项目名切换到项目根目录再启动服务,直接在www目录下运行命令会导致框架读取错误路径下的路由文件。 - 检查路由服务提供商配置
打开app/Providers/RouteServiceProvider.php文件,查找api路由加载逻辑,默认配置如下:
如果之前修改过Route::middleware('api') ->prefix('api') ->group(base_path('routes/api.php'));group方法内的文件路径,修正为正确的路由文件路径即可。 - 检查目录读取权限
Windows系统下右键点击routes文件夹,选择「属性-安全」,确认当前运行命令的用户拥有该文件夹的读取权限,权限不足也会触发文件读取失败报错。 - 不需要api路由可关闭加载逻辑
若项目本身不需要使用api路由,直接注释掉RouteServiceProvider.php中加载api路由的相关代码,即可跳过该文件的读取校验。
内容的提问来源于stack exchange,提问作者user17487407
相关产品推荐
相关产品推荐

