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

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

8 голосов
/ 24 октября 2011

У меня есть сервер Linux с appache в качестве веб-сервера.В моем скрипте PHP я создаю каталоги в режиме 0777.код довольно прост, как показано ниже:

mkdir($path,0777)

когда я запускаю этот скрипт и захожу в диспетчер файлов моего сервера, папка есть, но разрешение, назначенное этой папке, равно 0755. Я не могу понять,почему это происходит !!когда папка создана, в столбце пользователя есть apache, но разрешение 0755.

Ответы [ 4 ]

22 голосов
/ 24 октября 2011

Вы должны попробовать с umask

$old = umask(0); 
mkdir($path,0777); 
umask($old); 
4 голосов
/ 24 октября 2011

Вы можете попробовать:

chmod ( string $filename , int $mode )

Посмотрите, может ли это решить проблему с разрешениями.

0 голосов
/ 24 октября 2011

Может быть ваш умаск:

<?php
$old = umask(0);
mkdir($dir,0777);
mask($old);
?>
0 голосов
/ 24 октября 2011

Apache может не иметь прав, чтобы изменить это. Что вы можете сделать, это. Убедитесь, что apache работает в той же группе, что и ваша текущая группа файлов. Тогда apache сможет внести изменения в этот файл. Вы можете изменить свою группу apache в этой конфигурации apache. Или самый простой способ - сменить пользователя проекта на пользователя apache. Тогда apache может внести необходимые изменения.

перейдите к файлу с вашего сервера и введите ls -al и посмотрите на пользователя и группу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...