Какая настройка сервера отвечает за функцию "mkdir"?

12
maximus200
На сайте с 08.09.2004
Offline
185
1669

Уважаемые форумчане, такая задача:

Есть крипт, загруженный на сервак и там он пытается создать папку (mkdir() функция) и папка не создается. Вопрос: Какая настройка сервера (httpd.cong, php.ini и т.д.) отвечает за функцию "mkdir"?

Т.е. при каком значении этой функции скрипт может создать папку, а при каком нет?

Дополнительная информация:

Коннект идет через протокол http (т.е. простое обращение к скрипту http://domen.ru/myscript.php).

Используется функция пхп mkdir.

KU
На сайте с 09.07.2009
Offline
61
#1

Ошибку то какую пишет:)

А вообще права доступа надо выставить, в случае safe_mode еще и владелец папки где создается каталог должен совпадать с пользователем процесса вебсервера

Andreyka
На сайте с 19.02.2005
Offline
822
#2

mod_php с кривыми правами

Не стоит плодить сущности без необходимости
Skom
На сайте с 02.12.2006
Offline
165
#3

В корне скриптом создавать папки моветон.

Создайте рабочую папку для скрипта и либо дайте права на запись в эту папку всем, либо выставьте владельцем папки юзера(может потребоваться рут), из под которого работает пхп.

Юзер, от которого работает пхп можно посмотреть так echo($_SERVER[USER]);

Cras amet qui numquam amavit quique amavit cras amet
maximus200
На сайте с 08.09.2004
Offline
185
#4

Karl_ung, Warning: mkdir() [function.mkdir]: Permission denied in _путь_до_файлика_ on line 5

Содержимое файлика:

<?php

error_reporting(E_ALL);
if (is_dir(dirname(__FILE__).'/1234567890asdfasdf'))
rmdir(dirname(__FILE__).'/1234567890asdfasdf');
if (mkdir(dirname(__FILE__).'/1234567890asdfasdf'))
echo 'Все хорошо';
else
echo 'Скрипт не может создать папку. Обратитесь к хостеру';

?>
Skom
На сайте с 02.12.2006
Offline
165
#5

maximus200, Нет прав на создание директории.

Выше я написал как их дать.

Если скрипт хочет создать папку в корне, то либо правьте сам скрипт, либо выкиньте его в помойку. Потому, что для этого Вам надо будет либо дать 777 на всю Вашу папку, либо запускать пхп из под Вашего имени. Первое неправильно, а второе не только неправильно, но и геморно.

maximus200
На сайте с 08.09.2004
Offline
185
#6

Установка прав 777 на файл скрипта не помогает. Какие еще предложения будут?

Skom
На сайте с 02.12.2006
Offline
165
#7
maximus200:
Установка прав 777 на файл скрипта не помогает. Какие еще предложения будут?

777 надо ставить не на скрипт, а на папку.

Вот эта хрень mkdir(dirname(__FILE__).'/1234567890asdfasdf') пытается создать папку у Вас в корне.

Что неправильно. Потому, что 777 надо будет давать на всю Вашу папку.

Создайте директорию tmp, дайте ей 777 и поправьте в скрипте везде на dirname(__FILE__).'/tmp/1234567890asdfasdf')

Himiko
На сайте с 28.08.2008
Offline
560
#8

Либо использовать php-cgi.

Есть ещё вариант с apache-mpm-itk. Тогда и при mod_php не придётся всяких 777 ставить...

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
M
На сайте с 16.09.2009
Offline
278
#9
Himiko:
Либо использовать php-cgi.

Вы забыли про suexec. Иначе получаем права того же апача.

Offtopic: А про mpm-itk - есть положительные впечатления? Оно парсит разбирает заголовки запросов как root. Страшновато ;-)

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
maximus200
На сайте с 08.09.2004
Offline
185
#10

Спасибо всем высказавшимся в этой теме. Ваши советы помогли решить проблему.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий