Laravel在我的本地主机上寻找路径,而不是部署的服务器


Laravel looking for path on my localhost instead of deployed server

我在本地主机上安装了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配置缓存引起的。我建议您使用

  1. 删除配置缓存文件
  2. 刷新应用程序缓存
  3. 创建缓存文件以加快配置加载

为此,请在命令行上运行以下Artisan命令

  1. php artisan配置:清除
  2. php-artisan缓存:清除
  3. 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,它起了作用。