Laravel 5.0 file_put_contents错误

时间:2016-01-11 15:32:15

标签: php laravel laravel-5

刚刚在托管上移动了laravel项目,它说:

  

production.ERROR:带有消息的异常'ErrorException'   “file_put_contents(/Users/max/sites/evocate.dev/storage/framework/sessions/7f7df88c52734c34a3f89286dc74d517d446c4fd):   无法打开流:没有这样的文件或目录   /home/f/fb7929gh/evocate2/vendor/compiled.php:6440

为什么需要我的本地主机路径以及我可以在哪里解决此问题?

3 个答案:

答案 0 :(得分:2)

您应该确保此目录存在,并且您对此目录具有有效的文件权限

答案 1 :(得分:2)

sessions 内的适当权限下创建目录 storage/framework 您可以在Ubuntu中使用terminal命令创建目录:

sudo mkdir storage/framework/sessions

或者您可以直接在 project-root-folder/storage/framework/sessions

中创建目录

同时检查**storage****bootstrap**是否拥有完整的写入权限。 777775

答案 2 :(得分:0)

此问题归因于Laravel Configuration Caching。您通常应该运行

  

php artisan config:cache

命令作为生产部署例程的一部分。我建议你

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

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

  1. php artisan config:clear
  2. php artisan cache:clear
  3. php artisan config:cache

如果您无权访问服务器上的命令行,则可以programmatically execute commands像这样:

Route::get('/clear-cache', function() {
    $exitCode = Artisan::call('config:clear');
    $exitCode = Artisan::call('cache:clear');
    $exitCode = Artisan::call('config:cache');
    return 'DONE'; //Return anything
});

我希望这会有所帮助。