安装Laravel Telescope后访问对应地址提示404 Not Found
Laravel Telescope 访问返回404排查与解决
按以下顺序逐步排查:
- 先处理缓存类高发问题
依次执行命令清空缓存:
执行完成后运行php artisan route:clear php artisan config:clear php artisan cache:clearphp artisan route:list | grep telescope,如果输出结果包含telescope相关路由,直接访问对应路径即可。注意Telescope默认访问路径是http://127.0.0.1:8000/telescope,并非/laravel/telescope,除非你手动修改过配置中的路径参数。 - 校验服务提供者注册状态
打开根目录composer.json,找到extra.laravel.dont-discover配置,确认数组内没有laravel/telescope条目,存在的话直接删除,避免包自动发现机制失效导致Telescope服务不加载。
再打开config/app.php,查看providers数组中是否存在Laravel\Telescope\TelescopeServiceProvider::class与App\Providers\TelescopeServiceProvider::class两个条目,缺失就手动补充。如果找不到项目内的TelescopeServiceProvider.php文件,重新执行php artisan telescope:install生成对应文件,之后跑php artisan migrate完成Telescope所需数据表创建。 - 核对Telescope配置与访问环境是否匹配
打开config/telescope.php检查两个配置项:domain:默认值为null,代表允许所有域名访问。如果这里配置了专属域名(例如telescope.test),用127.0.0.1访问会直接404,本地调试可临时将该值设为null。path:该值为Telescope的访问路径前缀,默认是telescope,需要和你实际访问的URL路径完全对应。
- 检查服务运行状态
如果用php artisan serve启动本地服务,安装Telescope、修改配置后必须重启服务,否则服务启动时加载的路由、配置缓存不会更新,新注册的Telescope路由无法生效。
如果用Nginx/Apache作为本地web服务器,检查站点伪静态配置是否正确,确保所有请求都能正确转发到Laravel入口文件public/index.php,伪静态规则失效会导致非根路径全部返回404。 - 检查Telescope启用环境限制
打开app/Providers/TelescopeServiceProvider.php,查看是否存在环境判断逻辑限制Telescope仅在特定环境加载,例如仅在local环境执行Telescope::start()。如果.env文件中APP_ENV值不是local,Telescope不会注册路由,就会返回404,本地调试将APP_ENV改为local即可。
内容的提问来源于stack exchange,提问作者Rakibul Islam
相关产品推荐
相关产品推荐

