Измените права доступа к файлам в PHP как для серверов Linux, так и для Windows

#php #linux #windows #unix #file-permissions

Вопрос:

У меня есть функция PHP, которая рекурсивно изменяет права доступа к файлам каталога, и она отлично работает на наших производственных и промежуточных серверах Linux, но на наших локальных машинах разработки, которые работают под ОС Windows, я вижу это в журналах Apache, хотя я не вижу никаких ошибок на интерфейсе:

«chmod» не распознается как внутренняя или внешняя команда

Это моя функция:

 function fixFilePermissions() {
  exec('chmod -R 775 '.TMP_DOC_DIR);
}
 

Есть ли способ изменить эту функцию так, чтобы она работала как на серверах Linux, так и на серверах Windows?

Комментарии:

1. Вы пробовали напрямую использовать встроенную в PHP функцию chmod? (Я честно не знаю, будет ли это иметь какое-либо значение): php.net/manual/en/function.chmod.php

2. Действительно, chmod не существует в Windows. Вот почему вы хотите использовать собственные PHP-модули или код, если хотите, чтобы ваш код работал и с тем, и с другим. Вы могли бы проверить наличие ОС и вызвать chmod в Linux и эквивалентный (?) в Windows