2017-02-16 8 views
3

Я продолжал получать эту ошибку при запуске любых команд php artisan.file_put_contents (.../bootstrap/cache/services.json): не удалось открыть поток: нет такого файла или каталога

[ErrorException]
file_put_contents (/Applications/MAMP/htdocs/code/bheng/md-bheng/bootstrap/cache/services.json): не удалось открыть поток: Нет SUc
ч файл или каталог

enter image description here

Как остановить это?

ответ

3

Edit - Если файл services.json не существует, запустите php artisan serve, а затем остановить принудительно создать файл. См: laravel services.json not created

Редактировать - обновленный ответ объяснить каждую команду.

Сначала проигнорируйте $ в начале каждой команды. Это означает, что команды выполняются в терминале.

Чтобы найти свое имя пользователя, если вы уже не знаете, запустите:

$ whoami 

Для меня это будет выводить rob.

Далее мы хотим ч Ange собственный ership (chown) файла services.json. Мы назначили владельца вашему имени пользователя (в моем случае rob), а группа - _www, который является пользователем MAMP.

$ sudo chown rob:_www /Applications/MAMP/htdocs/code/bheng/md-bheng/bootstrap/cache/services.json 

Далее мы хотим ч Ange собственный ership (chown) каталога storage. Мы снова назначили владельца вашему имени пользователя (в моем случае rob) и группе до _www. Вы также можете заметить опцию -R. Это будет выполнять эту команду рекурсивно через все подкаталоги, содержащиеся в каталоге storage.

$ sudo chown -R rob:_www /Applications/MAMP/htdocs/code/bheng/md-bheng/storage 

Наконец, мы хотим изменить разрешения для отдельных файлов и каталогов в каталоге хранилища. Следующие команды будут find в каталоге storage, все каталоги (-type d) или все файлы (-type f) и выполнить команду, следующую за -exec.

$ sudo find /Applications/MAMP/htdocs/code/bheng/md-bheng/storage -type d -exec chmod 775 {} \; 
$ sudo find /Applications/MAMP/htdocs/code/bheng/md-bheng/storage -type f -exec chmod 664 {} \; 

В мы исполняющие команды будут ч Анж мод е (chmod) для каждого файла или каталога. Read this to learn more about permissions. Я связался с Википедией, потому что это объясняет вещи довольно просто. Там, вероятно, есть лучшие ресурсы.

По существу, 775 предоставит разрешения на чтение, запись и выполнение в каталогах. 664 предоставит разрешения на чтение и запись файлов.

+0

Можете ли вы объяснить немного о том, что делать в каждой строке? – ihue

+0

Почему 775 или 664? Откуда ты это знаешь ? – ihue

+0

Я сделал ваши шаги и все еще вижу эту ошибку. – ihue

1
[ErrorException] 
file_put_contents(/var/www/project/bootstrap/cache/services.php): 
failed to open stream: No such file or directory 

Для меня это было из-за boostrap/cache. Я удалил cache силой, поэтому я ударил эту ошибку.

Просто создайте обратно папку cache, она будет работать нормально.

$>cd projectDir/boostrap

$>projectDir/boostrap> кэш MkDir

будет работать