Ольга З.
2356 повідомлень
#15 років тому
Помогите пожалуйста с проблемой.
Есть програмулина (парсер) написан на php.
На денвере работает нормально. Установила на хостинг, заполнила нужные данные, при выдаче результата выдает ошибки:

Warning: mkdir() : No such file or directory in /home/www/z125614/htdocs/parasolka/parser.php on line 91

Warning: mkdir() : Permission denied in /home/www/z125614/htdocs/parasolka/parser.php on line 94

Warning: mkdir() : No such file or directory in /home/www/z125614/htdocs/parasolka/parser.php on line 97


Как их исправить?
Антон Ч.
399 повідомлень
#15 років тому
Посмотрите файл со строкой 91, говорит нет файла в этой дериктории, или скопируйте сюда код (скорее всего нужны права скрипту)
Владимир О.
206 повідомлень
#15 років тому
Скорее всего, у скрипта нет прав на создание директории. Или, с меньшей вероятностью, вы создаете директорию внутри несуществующей директории
Ольга З.
2356 повідомлень
#15 років тому
Цитата ("hak2008"):
Посмотрите файл со строкой 91, говорит нет файла в этой дериктории, или скопируйте сюда код (скорее всего нужны права скрипту)


Вот, что в строках с 89 по 98

      //Создаем нужные папки
if (!is_dir($folder)){
mkdir($folder, 0700);
}
if (!is_dir("$folder/images")){
mkdir("$folder/images", 0700);
}
if (!is_dir("$folder/images/thumbs")){
mkdir("$folder/images/thumbs", 0700);
}
Антон Ч.
399 повідомлень
#15 років тому
Права установите на папки images/thumbs /images, 777 думаю только в этом проблема хотя не помешало бы весь скрипт parser.php
Евгений О.
263 повідомлення
#15 років тому
Перед 89-й строкой распечатайте и посмотрите значение переменной $folder. Убедитесь, что на диске есть все вышележащие директории, убедитесь, что у вашей программы есть права записи в вышележащую директорию ($folder/..).
Евгений О.
263 повідомлення
#15 років тому
Права "777" - это здорово, это называется "добро пожаловать ко мне на сервер".
Дмитрий Васильковский
756 повідомлень
#15 років тому
Как вариант можно заранее создать эти папки!
Николай Т.
205 повідомлень
#15 років тому
Цитата ("Zi"):
Установила на хостинг, заполнила нужные данные, при выдаче результата выдает ошибки...

1) зайти на ftp
2) рекурсивно chmod 644 htdocs/
3) запустить скрипт, если возникла ошибка
4) рекурсивно chmod 664 htdocs/
5) запустить скрипт, если возникла ошибка
6) рекурсивно chmod 666 htdocs/
7) запустить скрипт, если возникла ошибка
8) сообщить на форуме

Цитата ("Illarion_SA"):
Права "777" - это здорово, это называется "добро пожаловать ко мне на сервер".

на шареде (без suexec) вообщето все php скрипты читаемые, а /tmp всегда доступен на запись. при желании можно найти куда залить вебшелл, хотя имхо проще применить backconnect
Евгений О.
263 повідомлення
#15 років тому
Цитата ("e1it3"):
...
Цитата ("Illarion_SA"):
Права "777" - это здорово, это называется "добро пожаловать ко мне на сервер".

на шареде (без suexec) вообщето все php скрипты читаемые, а /tmp всегда доступен на запись. при желании можно найти куда залить вебшелл, хотя имхо проще применить backconnect

Беда не в том, что они читаемые (пусть себе читают) и не в том, что /tmp всегда доступен на запись (если администратор пуганый, то /tmp монтируется с битом t и режимом noexec), а том, что все файлы можно писать (а значит и переписывать), а после этого еще и выполнять. Например, Вы щедрой рукой всем файлам в Вашей директории раздали права 777. Теперь, можно использовать какую-либо "дыру" в Вашем скрипте и переписать файл, например, .bashrc или записать в Вашу директорию файл .profile. Теперь Вам надо только прилогиниться и Ваш сервер от Вашего имени выполнит скрипт подготовленный для Вас каким-либо хакером. Остальное уже дело, как говорится, техники.
Роман Р.
132 повідомлення
#15 років тому
@Permission denied@
как вариант
sudo chmod ug+rw /home/www/z125614/htdocs/parasolka/
и будет, как сказал Illarion_SA, "добро пожаловать ко мне на сервер".