Разрешения для папок Apache и PHP

Наши PHP-скрипты создают динамические папки и файлы, и у нас возникла проблема с разрешениями. Папки изначально были созданы с помощью нашего ftpuser. Например: Альбом (созданный ftpuser) все подпапки и файлы в них должны создаваться динамически. Пользователь apache — это пользователь, когда создается новая папка, и по какой-то причине он не может ничего записать в эту папку.

Сервер работает с отключенным безопасным режимом PHP.

Всякий раз, когда папка создается php-скриптом, пользователем является apache, и разрешение по какой-то причине отображается как dr----x--t

Спасибо.


person ToughPal    schedule 16.09.2009    source источник


Ответы (1)


Найдите место в PHP, где создается папка. Как правило, это будет:

mkdir( folderName );

Измените строку на:

mkdir( folderName, 1755 );

Или вместо этого добавьте эту строку после mkdir:

chmod( folderName, 1755 );

Для получения дополнительной информации см. документацию по PHP mkdir.

person system PAUSE    schedule 16.09.2009
comment
изменен mkdir($config-›documentRoot./images/albums/.$albumId, 777); в mkdir($config-›documentRoot./images/albums/.$albumId, 0755); Теперь это работает. - person ToughPal; 17.09.2009
comment
Прохладный! Для полноты: я пропустил, что для этого нужен начальный ноль (0755 или 0777 вместо 777) и предложил 1755 (должно быть 01755), потому что «1» сделает папку липкой (это «t» в конце 'dr----x--t'). Я предположил, что папка была липкой по какой-то причине. Если он не должен быть липким, то ничего страшного. - person system PAUSE; 17.09.2009