Показать сообщение отдельно
Старый 01.03.2007, 07:33   #54
Limer =)
Продвинутый
 
Аватар для Limer =)
 
Регистрация: 20.01.2007
Адрес: Novosibirsk
Сообщений: 47
Отправить сообщение для Limer =) с помощью ICQ
По умолчанию

Дело в том, что саппорт предлагает следующие действия.

Цитата:
Дело в том, что PHP-сценарии, запущенные модулем mod_php, выполняются от имени пользователя wwwserver. Соответственно, если на чтение/модификацию не были выставлены разрешения для всех (достаточно 666 — для файлов, 777 — для каталогов), то модификация созданных такими скриптами файлов (каталогов) пользователю uXXXX (id площадки) будет запрещена (при доступе по SSH, по FTP).

Исключить проблему можно, установив достаточные для модификации файлов посредством функции chmod.

Сделать это рекурсивно можно, исполнив PHP-сценарий: <?php
function chmod_R($path, $perm) {

$handle = opendir($path);
while ( false !== ($file = readdir($handle)) ) {
if ( ($file !== ".") && ($file !== "..") ) {
if ( is_file($path."/".$file) ) {
chmod($path . "/" . $file, $perm);
}
else {
chmod($path . "/" . $file, $perm);
chmod_R($path . "/" . $file, $perm);
}
}
}
closedir($handle);
}

$path = $_SERVER["QUERY_STRING"];

if ( $path{0} != "/" ) {
$path = $_SERVER["DOCUMENT_ROOT"] . "/" . $path;
}

chmod_R($path, 0777);
echo $path;
?>


Разместите этот файл на площадке, в директории, доступной веб-серверу, например, как domain.tld/www/chmod.php

Вызывать скрипт нужно так: http://domain.tld/chmod.php?path_to_problem_dir или так: http://domain.tld/chmod.php?
/home/uXXXXX/domain.tld/www/path_to_problem_dir

В первом случае — указывается путь, относительно DocumentRoot для данного домена (domain.tld/www/ в нашем примере). Во втором случае (uXXXXX — идентификатор вашей площадки)- абсолютный путь от корневой папки сервера.
Однако, скрипт не работает, соответственно, права не меняются. Может, его нужно как-то модифицировать? Подскажите, пожалуйста.
Limer =) вне форума