我在本地主机上安装了Laravel。当我尝试将其部署到服务器时,它会抛出一个错误:View [frontend.layouts.login] not found.
我可以看到它在我的机器上查看我的本地文件路径,也就是
/Applications/MAMP/htdocs/personal/project_name/resources/views
而不是服务器的文件路径。
如果我尝试将项目复制到个人文件夹之外(在我的本地机器上),那么将文件路径设置为:
/Applications/MAMP/htdocs/project_name/resources/views
它给出了相同的问题?
是缓存视图的问题吗?
同一页面上的另一个错误是:
file_put_contents(/Applications/MAMP/htdocs/personal/project_name/storage/framework/sessions/7a0aaa6c977031111312b785c7b7e22a659b6a36): failed to open stream: No such file or directory
再说一遍,服务器与我的本地机器无关。
可能发生了什么?
此问题是由于Laravel配置缓存引起的。我建议您使用
- 删除配置缓存文件
- 刷新应用程序缓存
- 创建缓存文件以加快配置加载
为此,请在命令行上运行以下Artisan命令
- php artisan配置:清除
- php-artisan缓存:清除
- php artisan配置:缓存
如果您无法访问服务器上的命令行,您可以通过编程执行以下命令:
Route::get('/clear-cache', function() {
$exitCode = Artisan::call('config:clear');
$exitCode = Artisan::call('cache:clear');
$exitCode = Artisan::call('config:cache');
return 'DONE'; //Return anything
});
我希望这会有所帮助。
我认为这可能会修复
转到config/app.php并将url更改为您的生产url
'url' => 'http://localhost',
我遇到了同样的问题,所以我尝试了很多方法,包括这个问题中的所有解决方案,但都不起作用。
对我有效的是,我刚刚删除了这个文件bootstrap/cache/config.php
,它起了作用。