Laravel 5.4生产环境部署报错:View [index]未找到
解决Laravel 5.4部署后"View [index] not found"的问题
兄弟,看你报错里的路径还是本地WAMP的D:\wamp64\www\oagc\resources\views,这明显是部署后Laravel还咬着本地配置不放,结合你已经移动文件的操作,咱们从这几个关键点排查:
1. 先把public目录的index.php路径改对
你把Laravel核心文件移到了/home/tmworkxc/oagc,public内容移到了虚拟主机的web根目录(比如public_html),那必须修改public下的index.php,让它能正确找到核心文件:
找到这两行代码:
require __DIR__.'/../vendor/autoload.php'; $app = require_once __DIR__.'/../bootstrap/app.php';
把相对路径改成绝对路径,指向你的Laravel根目录:
require '/home/tmworkxc/oagc/vendor/autoload.php'; $app = require_once '/home/tmworkxc/oagc/bootstrap/app.php';
绝对路径在虚拟主机环境下不容易出错,别用相对路径瞎猜。
2. 把本地的缓存全清掉!
开发环境生成的缓存里存的都是本地路径,部署后必须清干净:
如果有SSH权限,进到/home/tmworkxc/oagc目录,执行这几个命令:
php artisan config:clear php artisan view:clear php artisan cache:clear
要是没SSH权限,就手动删除bootstrap/cache目录里的所有文件(留着.gitignore就行),这些缓存文件会自动重新生成。
3. 确认视图文件真的存在,权限也正确
- 先去
/home/tmworkxc/oagc/resources/views目录检查,有没有index.blade.php(Laravel优先识别这个后缀)或者index.php文件,别传漏了 - 给视图目录和文件设置正确权限,避免Laravel读取失败:
chmod -R 755 /home/tmworkxc/oagc/resources/views chmod -R 644 /home/tmworkxc/oagc/resources/views/*.php
4. 检查路由里的视图引用
看看你的路由代码是不是写错了视图路径,比如:
Route::get('/', function () { return view('index'); // 对应resources/views/index.blade.php });
要是视图在子目录里,比如resources/views/home/index.blade.php,就得写成view('home.index'),别搞混层级。
5. 确认.env文件上传正确
.env文件要放在/home/tmworkxc/oagc目录下,里面的APP_URL要改成你虚拟主机的域名,别还留着本地地址。有时候漏传.env也会导致各种配置异常。
按这几步走下来,应该就能解决视图找不到的问题了。
内容的提问来源于stack exchange,提问作者Mena
相关产品推荐
相关产品推荐

