2013-02-12 2 views
2

Я пытаюсь выполнить следующий код в моем PHP скрипт:PHP не MKDIR работать - может быть связано с Mac локальный

if (!is_dir($path . 'channel-partners/html/intro-letter/' . $name_url)) { 
     mkdir($path . 'channel-partners/html/intro-letter/' . $name_url, 0777, true); 
} 

$name_url является строка, переданная в во время выполнения. Я получаю разрешение, когда пытаюсь сделать это на своем локальном компьютере Mac. Мне интересно, является ли проблема не моим скриптом, а тем, как Apache настроен на моем Mac. Нужно ли мне что-то делать, чтобы настроить Apache, чтобы он мог создавать файлы и создавать каталоги (создание файлов здесь не показано)?

+0

Это группа пользователей Apache, которая нуждается в разрешении на создание файлов и папок. –

+0

Функция 'mkdir' возвращает' false'? – user20232359723568423357842364

+0

@ Damien - как установить группу пользователей для разрешения? – sehummel

ответ

0

Возможно, вы должны установить соответствующие права для пользователя apache в папку назначения.

+0

Папка, для которой требуется разрешение, является «channel-partners/html». Как мне это сделать? – sehummel

+0

В терминале с командой chmod или с информационным представлением папки на osX (чтение и запись для всех) –

+0

Будет ли 'chgrp' работать, как указано выше? – sehummel

3

Пользователь или группа, в которых работает Apache, и должны иметь разрешения на запись родительскому DIR. Установленная по умолчанию установка Apache на Mac работает под пользователем & группой с именем _www, поэтому

chgrp -R _www /the/parent/directory/here должен выполнить эту работу. см. man chmodman chownman chgrp для получения дополнительной информации.

+0

Это терминальная команда? – sehummel

+0

Прости, да. Эта команда сделает всю группу для// родителя/каталога в виду, и для этого группе также потребуется доступ на запись в папку. Возможно, стоит посмотреть структуру разрешения Unix. – juco

+0

Gotcha. Спасибо, @juco. – sehummel

Смежные вопросы