у меня есть простая проверка в моем загрузчике, которая должна проверить, доступен ли каталог для записи.
Я делаю это в настоящее время с функцией http://php.net/manual/en/function.is-writable.php
Но как указано в документации:
Имейте в виду, что PHP может обращаться к файлу как к идентификатору пользователя, который
веб-сервер работает как (часто «никто»). Ограничения безопасного режима не
учтено.
Он игнорирует случай, когда linux переходит в безопасный режим, который произошел у нас 1 месяц назад, функция вернула true, даже если запись в файл была невозможна, поскольку игнорирует безопасный режим (где большинство файловых систем получают статус «нет владельца»). )
Теперь, как я могу правильно обработать этот безопасный режим и позволить моим сценариям умереть, не создавая новый файл при каждой проверке (может привести к безумным проблемам с производительностью) ???
Ты можешь использовать стат () функция или fileperms () функционировать так
function isWritable($file) {
$perms = fileperms($file);
if (is_writable($file)
|| ($perms & 0x0080) // owner writable
|| ($perms & 0x0010) // group writable
|| ($perms & 0x0002)) // world writable
return true;
}
Других решений пока нет …