Автоматическое закрытие файлов

Последнее время часто стало исчезать место на диске, и появляться обратно после перезагрузки апача.
Хостер настаивает на том, что это связано с тем, что где-то в каких-то скриптах на php не закрываются файлы, и они висят до перезагрузки. Возможно саппорт не очень внятно выразился и пропадает не место, а дескрипторы. Не суть.

От мысли о том, чтобы искать такую ошибку в скриптах меня останавливает даже не то, что скрипты писали прямыми руками, а упорная мысль, что файлы ДОЛЖНЫ закрываться в конце работы скрипта автоматически.

К сожалению не нашел в документации подтверждение этому, но мне кажется то настолько естественным… По моему мнению даже exit в обработчике из register_shutdown_function не должен отменять этого.
  • Вопрос задан
  • 3295 просмотров
Пригласить эксперта
Ответы на вопрос 2
nazarpc
@nazarpc
Open Source enthusiast
Останавливает что ДОЛЖНЫ, а подстёгивать должно то, что НЕ БУДУТ.
И второе должно перевесить.
Если подходит — используйте file_get_contents() / file_put_contents(), тогда с этим не будет вопросов, но если вы открываете файл с помощью fopen() — то будьте добры его и закройте.
Ответ написан
facha
@facha
А у Вас шелл-доступ есть? Можете посмотреть, что именно открыто? Например, так:
ls -l /proc/11111/fd

11111 — pid процесса.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы