mkdir (имя_папки) с разрешением 755 в php - PullRequest
3 голосов
/ 22 июня 2011

Веб-приложение размещено в папке / var / www . Я создаю папку из одного из сценариев PHP веб-приложения. Разрешение по умолчанию для созданной папки - drwx------, то есть 700. Но я хочу, чтобы эта папка имела как минимум 755 разрешений.

До сих пор я пробовал: mkdir($path, 0755) и chmod($path, 0755) функции PHP, но безуспешно.

Кто-нибудь знает, как решить мою проблему, пожалуйста?

Миллионы благодарностей заранее.

Ответы [ 2 ]

2 голосов
/ 29 июня 2011

Вы пытались изменить umask?

Посмотрите здесь: http://nl3.php.net/manual/en/function.umask.php

Самый простой способ:

$oldmask = umask(0);
chmod($path, 0755);
umask($oldmask)
1 голос
/ 29 июня 2011

Поскольку у вас есть разрешение по умолчанию 700, что означает, что родительский каталог (каталог, в котором вы пытаетесь создать папку) не имеет разрешения rw для владельца группы или других пользователей. Чаще всего работающий демон (httpd) не является владельцем родительской папки и, следовательно, не может изменять каталог.

Проще говоря, скрипт php не имеет доступа для изменения или добавления нового каталога. Необходимо изменить разрешение родительской папки как минимум на drwxrw-rw- (или 0755).

Используйте для этого клиент ssh, cpanel или ftp. Если вы сделаете это с помощью php-скрипта, вы снова столкнетесь с той же проблемой, так как у parent of parent снова будет 0700.;)

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