![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| kocmocivan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.9.2009 Репутация: нет Всего: нет |
Всем здравствуйте, очень нужна ваша помощь!
ПРоблема в следующем. ПРи заходе в админку на сайте компании после ввода логина и паса или даже просто входе без ввода чего-либо идет ошибка: Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. Apache/1.3.37 Server at www.decotec.ru Port 80 Файл логов пишет следующее: ## failed to open log file fopen: Permission denied [Wed Sep 16 17:08:20 2009] [error] [client 213.147.49.50] Premature end of script headers: /www/docs/wwwdecotec/cgi-bin/admin/login/index.pl failed to open log file fopen: Permission denied [Wed Sep 16 17:08:22 2009] [error] [client 213.147.49.50] Premature end of script headers: /www/docs/wwwdecotec/cgi-bin/admin/login/index.pl [Wed Sep 16 17:08:22 2009] [error] [client 213.147.49.50] File does not exist: /www/docs/wwwdecotec/www/favicon.ico [Wed Sep 16 17:08:27 2009] [error] [client 213.147.49.50] File does not exist: /www/docs/wwwdecotec/www/favicon.ico ## Основной файл - index.pl который собственно и отвечает за вход в админку после ввода логина и паса. Его код - #!/usr/bin/perl use lib "../../lib"; use SysFunc; use Templates; use DBI; use data; my $globals=&SysFunc::get_globals(); %data=&data::get(); if(&SysFunc::login($data{login},$data{passwd})) { print qq~<script language=javascript>location.href="../cgi-bin/admin/index.pl";</script>~; } else { print "Content-type: text/html;charset=windows-1251\n\n"; $data=Templates::add_translate($data,"error","<font color=red>оЕРТБЧЙМШОЩК МПЗЙО ЙМЙ РБТПМШ</font>"); Templates::show_page("../../../admin.html",$data); } if($data{action} eq "logout") { &SysFunc::logout(); print qq~<script language=javascript>location.href="/decotec/";</script>~; # return 1; } &SysFunc::add_globals; exit(0); ПРоверил все что мог найти в инете по решению данной проблемы: 1)код ,вроде, правильный (заголовки ответов правильные). 2)права стоят 755 на файле и на папках. Еще прочитал что за данную ошибку так же отвечает .htaccess, вот его код: DirectoryIndex index.pl Options +ExecCGI RewriteEngine Off Есть еще одно соображение, может ли быть такое, что в данном файле идет бывшее сохранение с UTf-8 с BOM и из-за этого не работает. Т.к. раньше до меня код изменял мой ген. дир. с использованием WOrdPad я сейчас работаю с NotePad plus plus. Но он не находит никаких дополнительных кодеровок и доп прописей. print "Content-type: text/html;charset=windows-1251\n\n"; Заменял на print "Content-type: text/html;charset=windows-1251\r\n\r\n"; - тоже не помогает (как прочел где-то в инете)... Большая просьба еще помогающим, пишите "доступным языком" т.к. глубоких технических выражений я еще не знаю |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
Что в большинстве случаев означает немножечко кривой код. -------------------- менеджер по кодеврайтингу |
|||
|
||||
| kavkaz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2007 Репутация: нет Всего: 2 |
переводы строк. особенно после
|
|||
|
||||
| kocmocivan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.9.2009 Репутация: нет Всего: нет |
переводы строк. особенно после - Это что значит?
ПО поводу компеляции всего скрипта - я не знаю почти perl т.к. только начинаю, а сайт оказался как назло именно на perl и что там что обозначает я честно говоря не знаю... |
|||
|
||||
| kavkaz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2007 Репутация: нет Всего: 2 |
from google:
|
|||
|
||||
| kocmocivan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.9.2009 Репутация: нет Всего: нет |
Самый простой способ решить данную проблему - это перезакачать все Perl-скрипты в ASCII режиме. - СДЕЛАЛ не помогло!
Это сообщение отредактировал(а) kocmocivan - 17.9.2009, 16:40 |
|||
|
||||
| kavkaz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 26.12.2007 Репутация: нет Всего: 2 |
К сожалению под рукой нет у меня компа с Windows ... там где то в настройках есть галочка, проявите любознательность
по поводу ssh предлагаю погуглить... например это почитать http://ru.wikipedia.org/wiki/SSH клиент для ssh под windows вам нужен PuTTY данный для авторизации на ваш сервер с сайтом спрашивайте у администратора |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 2 Всего: 31 |
пишите больше знаков вопроса, мы не понимаем что вы спрашиваете!!!!!!!!!
FTP + F5 ? если хостер разрешает FTP. SSH - защищенное соединение с удаленным сервером (unix) Для вас это выглядит примерно так: вы вводите пароль и получаете доступ к командной строке вашего сервера. дальше делаете что хотите, точне на что хватит прав. |
|||
|
||||
| kocmocivan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.9.2009 Репутация: нет Всего: нет |
Самый простой способ решить данную проблему - это перезакачать все Perl-скрипты в ASCII режиме. - СДЕЛАЛ через CUteFTP не помогло!
Это сообщение отредактировал(а) kocmocivan - 17.9.2009, 16:41 |
|||
|
||||
| sir_nuf_nuf |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 2 Всего: 31 |
А еще меня смущает этот момент:
1) Если на страничке выводится javascript , то заголовки писать уже не надо что - ли ? Это ошибка Заголовки должны быть всегда.
2) Это очень извращенный способ делать редирект. Лучше так:
|
||||||
|
|||||||
| kocmocivan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.9.2009 Репутация: нет Всего: нет |
sir_nuf_nuf
ПО поводу загаловкой согласен - т.к. сама ошибка 500 идет именно из-за того что не заканчивается воспроизведение заголовка полностью... - это как я понял из разных источников. НО ГДЕ ЭТО ОКОНЧАНИЕ НЕ ПРАВИЛЬНОЕ? или где прерывание начинается... после чегооо??? А вот по поводу - print "Content-type: text/html;charset=windows-1251\n\n"; Он должен писаться именно так или хотя бы присутствовать в скрипте элемент - Content-type: text/html Без него вывод заголовков и элементов ХТМЛ бесполезен и не работает, опять же как я понял... Это сообщение отредактировал(а) kocmocivan - 17.9.2009, 19:15 |
|||
|
||||
| sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 2 Всего: 31 |
Во первых, дабы рассеить ваши сомнения:
perl у пофиг на переносы строк. Он нормально разбирает и виндовый вариант ("\r\n") и unix ("\n") Ошибка НЕ в этом. у вас скрипт не большой - можно просто перебрать все варианты. Расставьте отладочную печать - поймете как скрипт работает.
Поймите, вы выводите не HTML, вы выводите ответ HTTP целиком (заголовки + контент) По стандарту HTTP конент должен быть отделен от заголовков пустой строкой. поэтому "\n\n" - необходимо. |
|||
|
||||
| kocmocivan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.9.2009 Репутация: нет Всего: нет |
Прогнал скрипт через DzSoft Perl Editor -
он пишет следующее - что ошибка при инициализации use SysFunc.pm ... |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
kocmocivan, если есть доступ на сервер выполни команду
perl -c /www/docs/wwwdecotec/cgi-bin/admin/login/index.pl - компиляция и выложи что будет в ответе.. я думаю этого будет достаточно для исправления ошибки.. Добавлено через 2 минуты и 54 секунды можно и на винде, через cmd... Пуск -> выполнить -> cmd(ОК)... ту же самую команду, только путь относительно того, где у тебя скрипт. -------------------- менеджер по кодеврайтингу |
|||
|
||||
| kocmocivan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.9.2009 Репутация: нет Всего: нет |
perl -c /www/docs/wwwdecotec/cgi-bin/admin/login/index.pl
perl -c /cgi-bin/admin/login/index.pl perl -c ../cgi-bin/admin/login/index.pl COMMAND NOT UNDETSTOOD - короче не понимает он комунду... ВВел в Total COmandor |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |