У меня есть сервер Linux с приложением как веб-сервер. В моем скрипте PHP я создаю каталоги с режимом 0777
. код довольно прост:
mkdir($path,0777)
когда я запускаю этот скрипт и перехожу к файловому менеджеру моего сервера, папка есть, но разрешение, назначенное этой папке, – 0755. Я не могу понять, почему это происходит !! когда папка создана, в столбце пользователя есть apache, но разрешение – 0755.
Вы должны попробовать с помощью umask
$old = umask(0); mkdir($path,0777); umask($old);
Можешь попробовать:
chmod ( string $filename , int $mode )
Посмотрите, может ли это устранить проблему с разрешениями.
У Apache могут не быть разрешения на изменение этого. Что вы можете сделать. Убедитесь, что apache работает в той же группе, что и ваша текущая группа файлов. Тогда apache сможет внести изменения в этот файл. Вы можете изменить свою группу apache в этой конфигурации apache. Или самый простой способ – изменить всех пользователей проекта на пользователя Apache. Тогда apache может внести изменения, которые он хочет.
перейдите в файл с вашего сервера и введите ls -al и посмотрите на пользователя и группу
Может быть ваш umask:
<?php $old = umask(0); mkdir($dir,0777); mask($old); ?>