Привет Я запускаю centos-сервер, и я хочу знать, как я могу установить chmod по умолчанию для вновь созданного файла, который создается php, например fopen. На данный момент он делает 644, но я хочу 666, и где я могу указать эту настройку?
Как и в Linux, PHP имеет команду chmod (), которая может быть вызвана для изменения прав доступа к файлам.
См. Документацию здесь: http://php.net/manual/en/function.chmod.php
Для настройки по умолчанию вы можете попробовать, что здесь говорит Патрик Фишер : Установка umask для пользователя Apache
[root ~]$ echo "umask 000" >> /etc/sysconfig/httpd [root ~]$ service httpd restart
Вы можете использовать umask()
непосредственно перед вызовом fopen (), но umask не следует использовать, если вы находитесь на многопоточном сервере – он изменит маску для всех потоков (например, это изменение находится на уровне процесса ), а не только тот, который вы собираетесь использовать fopen ().
например
$old = umask(000); fopen('foo.txt', 'w'); // creates a 0666 file umask($old) // restore original mask
Было бы проще просто chmod () после факта, однако:
fopen('foo.txt', 'w'); // create a mode 'who cares?' file chmod('foo.txt', 0666); // set it to 0666