![]() |
Помогите настроить скрипт PHP FXP
Сам скрипт скачать можно здесь:
http://fxp.harrym.nu/phpfxp/index.php (версия 3) Сделал все, как указано в readme.txt Прописал вроде все пути в config.inc.php, положил папку в /httpdocs/ а скрипт при попытке скачки файла с другого сервера выдает ошибку: Цитата:
Кстати, а папки /tmp на сервере нет... Зы. Может не стоит с этим скриптом возится? есть ли что-нить попроще из Site to site transfer на PHP? |
дык сделай:)
|
Цитата:
|
закачка на php:
там скорее всего функция copy стоит(или move, move_upload_files, etc). они перемещаюти файл из временной директории в то место на сайте, куда нужно закачать файлы. сначала происходит закачка, файл помещается во временную папку(вся инфа записывается в $HTTP_POST_FILES - ошибки, путь и т.д.). далее нужно проверять нет ли ошибок, и если все ок, то перемещаем файл из временной папки в нашу, попутно заменив имя. у тебя скорее всего происходит ошибка, либо напутал с директориями, хотя странно, т.к. путь берется из массива $HTTP_POST_FILES , а путь в нем заполнится только после удачной закачки(по-моему). возможно у тебя просто не определена временная директория или ее нету на том месте, где она должна быть(исходя из конфигуации). вот что я имею ввиду: Код:
foreach ($HTTP_POST_FILES as $file) |
Цитата:
Цитата:
С путями вроде ошибиться не мог, там настроек всего-ничего: Цитата:
|
Создал папку tmp в httpdocs - тоже самое. :(
Кстати, вот что пишется в access_log Цитата:
Пытался скачать обычный exe файл, выбранный наугад из сети. Через IE он качается. :) |
Цитата:
Цитата:
Дак и чего ты привел логи доступа, лучше логи ошибок посмотри. |
Судя по сообщению об ошибке:
Warning: file(): действуют open_basedir ограничения. Файл(/phpfxp/data/source.txt) не находится в разрешенной дире: (/home/httpd/vhosts/*****.ru/httpdocs:/tmp)... разрешенный дир для выполнения функции у тебя две - "/home/httpd/vhosts/*****.ru/httpdocs" и "/tmp". Из readme (одно из требований): "- safe modus should be off" - php сэйф мод должен быть вырублен. |
Madchild раз возникли проблемы специально скачал и установил к себе на хост проверить, незнаю у меня все нормально после настройки все сразу заработало...
Может ты не выставил права на файлы как требуется в Ридми? Там прочитай, написано что на директорию "store" права должны быть 0777 и на ВСЕ файлы в директории "data" - 0777. Это кстати очень важно, видимо поэтому у тебя скрипт и не может прочитать файл data/source.txt т.к. на него поумолчанию почему-то права стоят 0644... |
Hubbitus
Все права так и настроены. В корне есть tmp директория. Права на нее - 1777. В error_log вообще ничего, относящегося к скрипту, нет. :( Поэтому и выдал что есть. :) Цитата:
|
Цитата:
Сейф-мод это ограниченный режим в целях повышения безопасности, который зачастую включается на бесплатных хостингах и отключить его там соответственно нету возможности... |
Hubbitus
Хостинг платный. А где обычно этот php.ini лежит? Видать, все дело в нем. |
Если шаред-хостинг (а не выделенный сервер) и также не отдельный Апач на аккаунте (обычно так на достаточно больших тарифах только) то соответственно скорее всего изменить php.ini нельзя. Если сервер выделенный то он тоже может быть в разных местах (как настроить), но поумолчанию обычно он лежит в /etc/php.ini или /usr/local/etc/php.ini
Посмотреть точно где он есть, можно запустив ПХП-файлик с одной строкой <?php phpifo() ?> и найдя параметр "Configuration File (php.ini) Path" |
Да, точно. phpinfo выдает safe-mode' '--enable
Да и путь... Явно не у меня лежит. :( А есть скрипты для пересылки файлов с сервера на сервер, для которых не критично включение safe-mode? Хотя нет, в Configuration PHP Core написано: Directive ----------------Local Value ----Master Value safe_mode------------------Off-------------Off safe_mode_exec_dir ------no value --------no value safe_mode_gid -------------Off -------------Off safe_mode_include_dir-----no value --------no value или я вообще не там смотрю? |
Цитата:
Кажись понял (и как я сразу не заметил :p ) в переменной $path нужно указывать полный локальный путь, от корня сервера!!! (у тебя это будет скорее всего /home/httpd/vhosts/*****.ru/httpdocs/phpfxp/) |
Исправил. Прогрес есть. :) Теперь вот что выдает:
Цитата:
Самих файлов в папке store, естественно, нет. :( Короче, ссылка-источник записывается в /data/source.txt - это уже прогресс. :) А что вообще надо в поле Destination server записывать, если я хочу к себе на сервер скачать? Может я просто что-нить не то делаю... Ну, руки кривые и все такое. :) |
Смысл всех этих ошибок в том что он не смог создать директорию на твоем Destination server, тоесть скорее всего нету прав на запись по указанным логину/паролю/адресу.
В Destination server соответственно нужно писать куда ты хочешь все положить с того сервера откуда качаешь... Цитата:
wget -c ftp://ftp.kaspersky.com/beta/kavpers...personalen.exe P.S. И вообще, я посмотрел, скрипт может конечно и работает этот, но он жутко кривой... |
Хех, скрипт то работает, вот только не так, как надо. Пока я пробовал так и эдак, втихаря закачал ко мне на комп около 550 мегов сам-незнаю-чего... (больше некому) Короче, сожрал весь предоплаченный трафик за пол месяца. :( Я, немного, в шоке. Надо-ж так лохануться... :( Теперь это скрипт - враг номер 1! :)
Цитата:
|
Цитата:
Закачивать файлы можно используя шелл-доступ или написав небольшой скрипт-оболочку к wget'у... |
Вложений: 1
Действительно, wget обычно установлен на большинстве хостингов, только не на всех есть к нему доступ...
Использовать его можно как имея SSH, так и из ВЕБ-шелла из 10 строчек, если нужно можешь скачать, простейший вариант шелла в аттаче, дальше просто заливаешь его себе на сервер и из него запускаешь комманду для скачивания wget'ом, как я писал раньше: wget -c URL... |
Вот, блин. Как все просто. И ничего настраивать ненадо. Что-бы это узнать, мне понадобилась неделя и пол лимита трафика на месяц. :)
Hubbitus Все замечательно работает! Спасиб огромный! :) Надо было еще права на папку, где этот exec.php установить на запись, правильно? А то wget ругается. :) Буду теперь wget изучать. Судя по беглому поиску на Imho.ws и на яндексе, это очень мощная штука. |
Ну ничего не делается сразу и всегда требует усилий и затрат :)
Наздоровье. Да права на запись конечно нужны. wget очень мощная штука, почитать о его параметрах ты можешь в МАНе (в том шелле выполни man wget) Только одно замечание, этот шелл в открфтом доступе, если его найдут злоумышленники просто распахнутая дверь на твой хостинг, поэтому было бы очень нелишним поставить на него пароль или на весь каталог лучше!!! (как это сделать не раз обсуждалось на форуме) |
Существует еще вот таклй скриптик _http://soft.xyzsite.ru/lorex.html?l=rus
Его работа полностью опирается на wget ... только вот стоит он дороговато. |
Опять назрела проблема. Давненько не пользовался этим шелом, теперь на команду
wget -c ссылка выдает вот какую дребидень: Цитата:
|
Цитата:
Приведите вывод комманды which wget |
Цитата:
Цитата:
|
Цитата:
/usr/bin/wget -c URL возможно он просто алиасов не может найти, приведите ответ, если не работает, может хоть сообщение об ошибке будет более вразумительное. Если не работает всеравно, и действительно хостер запретил пользователям хостинга использовать wget, то есть вариант полохить свой wget, статически скомпилированный в домашнюю директорию и использовать его. Я так делал на одном хостинге. Тогда скажите какая операционка на сервере, версия ее, желательно подробнее (команды: uname - a, cat /proc/version) |
Цитата:
/bin/bash: /root/.bashrc: Permission denied :( Цитата:
uname: invalid option -- , Try `uname --help' for more information. А если ввести uname -a Linux plesk11.at99.ru 2.4.20-021stab022.10.777-smp #1 SMP Mon Jan 10 12:56:27 MSK 2005 i686 i686 i386 GNU/Linux |
Цитата:
И еще бы хорошо cat /proc/version И еще, по ошибке вдруг пришла такая догадка, а не что-то вроде VDS (виртуальный выделенный сервер) у вас, тоесть вы случано не имеете доступ туда пользователем root??? Если нет, то попоробуйте скачать вот этот файлик http://bil.net.ru/wget , положить его к себе на хостинг, в ту же директорию где лежит файл веб-шелла (насколько я понимаю именно им пользуетесь), и выполнить пробуем уже следующую комманду: Код:
./wget -c URL Этот файл я компилировал именно для этих целей, компилировал на шапке, проверял на Дебиане, поэтому никаких гарантий что он будет работать на вашем дистрибутиве дать не могу (темболее без cat /proc/version даже не понятно какой у Вас :) ) |
Цитата:
Так вот, что выдает: Linux version 2.4.20-021stab022.10.777-smp (st@kbuild26.eng.sw.ru) (gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)) #1 SMP Mon Jan 10 12:56:27 MSK 2005 Цитата:
Цитата:
sh: line 1: ./wget: Permission denied |
Цитата:
Цитата:
Попробуйте выполнить chmod 0777 wget А потом снова попробуйте. |
Цитата:
Цитата:
chmod: changing permissions of `wget': Operation not permitted Сменил права wget через панель управления plesk. Цитата:
И что-же это было? Хотелось бы прояснить. |
Цитата:
|
Часовой пояс GMT +4, время: 02:45. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.