Laravel 5.8部署后删除请求报视图找不到错误求助排查
问题分析与解决方案
以下是针对你遇到的Laravel 5.8部署后删除请求触发视图找不到错误的排查与解决步骤:
检查视图文件路径与大小写
服务器若为Linux系统,文件名和路径区分大小写,而本地Windows/macOS通常不敏感。确认resources/views/admin/contacts/show.blade.php、resources/views/admin/brands/show.blade.php的路径、文件名大小写,与代码中调用的admin.contacts.show、admin.brands.show完全一致,避免拼写或大小写错误。彻底清除所有缓存
单纯执行view:clear可能未彻底生效,尝试一次性清除所有缓存:
php artisan view:clear php artisan optimize:clear
optimize:clear会清除视图、路由、配置、缓存等所有类型的缓存,比单独执行命令更彻底。
- 修复存储目录权限
Laravel的视图缓存存储在storage/framework/views目录下,确保该目录及子目录具备服务器运行用户(如www-data、nginx)的读写权限:
chmod -R 755 storage/ chown -R www-data:www-data storage/
根据你的服务器运行用户调整命令中的用户组,例如Apache环境可替换为apache:apache。
- 核对删除操作的控制器逻辑
检查删除请求对应的控制器方法,确认是否误将删除后的跳转目标指向了show视图。正常删除流程应跳转到列表页而非详情页,比如:
// 错误示例:删除后返回show视图 return view('admin.contacts.show', $data); // 正确逻辑:跳转到列表页 return redirect()->route('admin.contacts.index');
- 重新生成自动加载文件并校验项目完整性
执行以下命令重新生成Composer自动加载文件,确保所有文件被正确识别:
composer dump-autoload
同时确认服务器上的项目文件完整,未遗漏resources/views/admin下的对应视图文件,排查部署过程中是否有文件上传缺失。
- 临时禁用配置缓存排查
Laravel 5.8的配置缓存可能导致路径解析异常,先执行以下命令禁用配置缓存,再测试删除请求:
php artisan config:clear
内容的提问来源于stack exchange,提问作者Mohammad Al Hallaq
相关产品推荐
相关产品推荐

