Intereting Posts
Как получить «данные» из запросов JQuery Ajax SQLSTATE : недопустимый номер параметра: параметр не определен (PDO) Библиотека PHP для openID Передача даты между страницами php и отображением только года Как изменить размер изображения без сохранения его в папке Как получить версию PCRE (в комплекте с PHP) из кода? События, добавленные через клиент API Google API, которые не отображаются в календаре Как централизовать код из моих функций init во всех контроллерах? WordPress wp_reset_query () не возвращается к последнему запросу? Curl возвращает 400 плохих запросов (url с пробелами) PayPal IPN не обновляет базу данных MySQL (nginx / selinux) Разрешение отклонено для сеансов, но файлы создаются перемещение через элементы HTML DOM в jQuery Импортировать отсортированный массив чисел в строку через запятую и интервалы слияния Проверьте, существуют ли файлы с абсолютным и относительным путем

ОшибкаException в Filesystem.php

Проблема с хранилищем сеансов

Хранилище сеансов, не работающее с моим Laravel 5. Используется в течение месяца без проблем. Но с момента последней загрузки на веб-сервер я получаю следующий ответ на каждой странице.

ErrorException in Filesystem.php line 74: file_put_contents(): Exclusive locks are not supported for this stream 

Многие сообщения в Интернете указывают на удаление ссылки на

 $lock on line 74 in Filesystem.php 

Похоже на быстрое исправление, которое приведет к другим проблемам в будущем …

Как я могу позаботиться о первопричине?

Рекомендации

https://stackoverflow.com/questions/29023948/laravel-5-file-put-contents-exclusive-locks-are-not-supported-for-this-stre https://laracasts.com/discuss/channels/general -discussion / l5-новая установка ошибки

после обновления

 chmod -R gu+w storage chmod -R guo+w storage php artisan cache:clear 

Если вы используете Laravel 5.2.0, вы, вероятно, проигнорировали папку storage в файле .gitignore . Дело в том, что когда вы запускаете composer install на своем сервере, не все файлы из папки хранилища создаются, вы должны их проверить!

В моем случае папка хранилища содержала только папку logs без папок app и фреймов. Вам необходимо создать их вручную, чтобы в конце появилась такая структура:

 storage - app - framework - cache - sessions - views - logs 

Не забудьте сделать папку storage доступной для записи!

спасибо @ peder-wessel. Ваш ответ объясняет причину, но не является постоянным решением и будет работать, пока мы не обновим поставщиков снова, поскольку файл Filesystem.php находится в каталоге поставщика Laravel. Однажды, когда мы composer update это снова вызовет проблему. 🙁

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

 'driver' => 'file', 

в

 'driver' => 'cookie', 

в /app/config/session.php

Возможно, создатели laravel также должны добавить это в конфигурацию, поскольку не все (общие) хостинги предоставляют исключительные права блокировки

Это было связано с хостингом. Мой облачный сервис не поддерживал эксклюзивные блокировки. Я обменялся

return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);

в

return file_put_contents($path, $contents, $lock ? LOCK_SH : 0);

в строке 74 файла Filesystem.php

У меня возникла проблема с публикацией моих активов из моего пакета с этой ошибкой file_put_contents (): Исключительные блокировки не поддерживаются для этого потока

этот пакет помогает NoLock