Последнее время часто стало исчезать место на диске, и появляться обратно после перезагрузки апача.
Хостер настаивает на том, что это связано с тем, что где-то в каких-то скриптах на php не закрываются файлы, и они висят до перезагрузки. Возможно саппорт не очень внятно выразился и пропадает не место, а дескрипторы. Не суть.
От мысли о том, чтобы искать такую ошибку в скриптах меня останавливает даже не то, что скрипты писали прямыми руками, а упорная мысль, что файлы ДОЛЖНЫ закрываться в конце работы скрипта автоматически.
К сожалению не нашел в документации подтверждение этому, но мне кажется то настолько естественным… По моему мнению даже exit в обработчике из register_shutdown_function не должен отменять этого.
Останавливает что ДОЛЖНЫ, а подстёгивать должно то, что НЕ БУДУТ.
И второе должно перевесить.
Если подходит — используйте file_get_contents() / file_put_contents(), тогда с этим не будет вопросов, но если вы открываете файл с помощью fopen() — то будьте добры его и закройте.
Да я то везде закрываю. Это мне еще в школьные годы привили.
Останавливает не от того, чтобы закрывать а от того чтобы искать где оно не закрыто.
Останавливает потому что версия хостера кажется неправдоподобной. Я потрачу два дня времени, чтобы убедится что ничего не нашел.
Ведь незакрытие файлов это должна быть жестокая бага со стороны апача/пхп.
т.е. вы утверждаете что таки будет такая утечка ресурсов? а пруф на это можете дать?
В моих скриптах оно врядли, но может что-то из того, что у меня стоит не совсем экологично.