Пожалуйста, укажите правильный путь к кешу

Я продублировал работающее приложение laravel и переименовал его для использования в другом приложении. Я удалил папку vendor и снова выполнил следующие команды:

composer self-update

composer-update

npm install

bower install

Я настроил свои маршруты и все правильно, однако теперь, когда я пытаюсь запустить свое приложение в своем браузере, я получаю следующие ошибки:

InvalidArgumentException в строке 36 Compiler.php: укажите правильный путь к кешу.

ErrorException в строке Filesystem.php 111: file_put_contents (F: \ www \ example \ app \ storage \ framework / session / edf262ee7a2084a923bb967b938f54cb19f6b37d): не удалось открыть поток: нет такого файла или каталога

У меня никогда раньше не было этой проблемы, я не знаю, что ее вызывает, и я не знаю, как ее исправить, я нашел решение в Интернете, но пока не нашел.

 twigg08 февр. 2017 г., 16:58
Вам необходимо восстановить папки хранения, они находятся в вашем файле .gitignore, поэтому не будут копироваться при клонировании проекта (так как они никогда не переносятся в репозиторий)

Ответы на вопрос(5)

Вы можете редактировать свойreadme.md с инструкциями по установке приложения laravel в другой среде, например:

## Create folders

```
#!terminal

cp .env.example .env && mkdir bootstrap/cache storage storage/framework && cd storage/framework && mkdir sessions views cache

```

## Folder permissions

```
#!terminal

sudo chown :www-data app storage bootstrap -R
sudo chmod 775 app storage bootstrap -R

```

## Install dependencies

```
#!terminal

composer install

```
 Mankeomorakort28 дек. 2018 г., 09:15
ты спас мой день :)

php artisan cache:clearphp artisan config:clearphp artisan view:clear
 MattClimbs21 мая 2017 г., 02:23
Не работал для меня я получил[InvalidArgumentException] Please provide a valid cache path, снова
 Ben28 июл. 2018 г., 18:25
В моем случае кошмар, если запуститьphp artisan cache:clear!

создать эти папки подхранение / рамки:

sessionsviewscache

Теперь это сработало!

 Hari29 мая 2019 г., 02:18
ты спас мой день !! Спасибо
 Niladri Banerjee - Uttarpara23 авг. 2017 г., 14:36
Вы можете удалить папку хранилища вручную и запустить команду «php artisan storage: link» через cmd. Затем создайте папки, как предложено выше. Лучше вы можете сохранить предыдущую папку хранилища в качестве резервной копии, а затем скопировать - вставьте папку фреймворка в новый путь хранения.
 Tiefan Ju28 окт. 2018 г., 13:01
Git не клонирует пустые папки! Я создам файл folder.keeper для этих 3 папок.
 cja25 сент. 2016 г., 21:05
Я объединил это с php artisan cache: clear и php artisan config: clear и php artisan view: ясно из ответа ниже, и тогда это сработало
 LTroya07 дек. 2018 г., 17:44
Файл .gitkeep в каждом каталоге поможет избежать повторения
 Raza06 нояб. 2017 г., 18:08
mkdir -p хранилище / framework / {сеансы, представления, кэш}
 Jesus Erwin Suarez09 февр. 2019 г., 11:45
Спас мой день! благодарю вас.
 fzyzcjy04 нояб. 2017 г., 13:15
Работа для меня тоже! Мне интересно, почему этот не отображается в топе ...
 Mauricio Wanderley Martins28 окт. 2018 г., 13:33
Да, потому что не нужно версировать эти папки
 AdamJones11 янв. 2018 г., 14:45
У меня была именно эта проблема, и исправление работало, было результатом преднамеренного исключения всей папки фреймворка из моего продукта subversion из-за постоянного изменения содержимого временного файла. Тогда настройка repro в новой системе естественным образом привела к тому, что эти папки не существовали. Мысль я бы поделился ...

s \ Compiler.php

public function __construct(Filesystem $files, $cachePath)
{
    if (! $cachePath) {
        throw new InvalidArgumentException('Please provide a valid cache path.');
    }

    $this->files = $files;
    $this->cachePath = $cachePath;
}

Конструктор вызывается BladeCompiler в Illuminate \ View \ ViewServiceProvider

/**
 * Register the Blade engine implementation.
 *
 * @param  \Illuminate\View\Engines\EngineResolver  $resolver
 * @return void
 */
public function registerBladeEngine($resolver)
{
    // The Compiler engine requires an instance of the CompilerInterface, which in
    // this case will be the Blade compiler, so we'll first create the compiler
    // instance to pass into the engine so it can compile the views properly.
    $this->app->singleton('blade.compiler', function () {
        return new BladeCompiler(
            $this->app['files'], $this->app['config']['view.compiled']
        );
    });

    $resolver->register('blade', function () {
        return new CompilerEngine($this->app['blade.compiler']);
    });
}

Итак, отслеживая далее, следующий код:

$this->app['config']['view.compiled']

обычно находится в вашем /config/view.php, если вы используете стандартную структуру laravel.

<?php
return [
    /*
    |--------------------------------------------------------------------------
    | View Storage Paths
    |--------------------------------------------------------------------------
    |
    | Most templating systems load templates from disk. Here you may specify
    | an array of paths that should be checked for your views. Of course
    | the usual Laravel view path has already been registered for you.
    |
    */
    'paths' => [
        resource_path('views'),
    ],
    /*
    |--------------------------------------------------------------------------
    | Compiled View Path
    |--------------------------------------------------------------------------
    |
    | This option determines where all the compiled Blade templates will be
    | stored for your application. Typically, this is within the storage
    | directory. However, as usual, you are free to change this value.
    |
    */
    'compiled' => realpath(storage_path('framework/views')),
];

Realpath (...) возвращает false, если путь не существует. Таким образом, ссылаясь

'Please provide a valid cache path.' error.

Поэтому, чтобы избавиться от этой ошибки, вы можете убедиться, что

storage_path('framework/views')

или же

/storage/framework/views

существует :)

Решение Вопроса

что произошло, когда я дублировал свой проект, папка фреймворка внутри моей папки хранения не была скопирована в новый каталог, это вызвало мою ошибку.

 user371890808 февр. 2017 г., 18:17
@twigg не имеет ничего общего с git, я продублировал проект на своем локальном компьютере,
 Peter29 июл. 2016 г., 10:41
То же самое случилось со мной, когда я делал рутинуcomposer update, Пока нет решения.
 twigg08 февр. 2017 г., 16:57
Ну, очевидно, это не так, потому что это в вашем файле .gitignore ...........
 manix01 авг. 2016 г., 06:09
также проверьте, есть ли в папке framework все подкаталоги с соответствующими разрешениями
 user371890830 июл. 2016 г., 22:19
Дважды проверьте все пути и убедитесь, что нигде нет пропущенных папок или файлов.
 Chaudhry Waqas23 авг. 2016 г., 19:43
в моем случае в приложении отсутствовали папки внутри хранилища dir
 Peter07 авг. 2016 г., 12:32
Похоже, что моя проблема связана с тем, что в Laravel 5.2.40 указано «Исключение исключения, если путь к кешу представления пуст».laraver.xyz/projects/Laravel/versions/v5.2.40 Я не могу отменить изменение - после обновления все комментарии композитора или ремесленника не срабатывают

Ваш ответ на вопрос