Разрешения PHP mkdir ()

У меня есть сервер 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); ?>