Автор Тема: скрипт после своей работы выдает "The page cannot be displayed"  (Прочитано 13016 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн KhasDenis

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 49
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Помогите разобраться ...

use CGI::Carp qw(fatalsToBrowser);

$g_thisscript = $ENV{SCRIPT_NAME};
if ($g_thisscript =~ /\\.(\\w+)$/) {$_ext = $1}

sub Ext {
    my $file = shift;
    my $result = $file . \'.\' . $_ext;
    return $result;
} # sub Ext

eval {
    ($0 =~ m,(.*)/[^/]+,)   && unshift (@INC, "$1");
    ($0 =~ m,(.*)\\\\[^\\\\]+,) && unshift (@INC, "$1");

    require &Ext("arp3-config");
    require &Ext("arp3-settings");
    require &Ext("arp3-logs");
    require &Ext("arp3-background");
    require &Ext("arp3-customtags");
    require &Ext("arp3-library");
    require &Ext("arp3-locks");
    require &Ext("arp3-dynamic");
    require &Ext("arp3-login");
    require &Ext("arp3-autoresponders");
    require &Ext("arp3-broadcast");
    require &Ext("arp3-backup");
    require &Ext("arp3-display");
    require &Ext("arp3-cookies");
    require &Ext("arp3-validate");
    require &Ext("arp3-mail");
    require &Ext("arp3-trackingtags");
    require &Ext("arp3-setup");
    require &Ext("arp3-version");
    require &Ext("arp3-profile");
    require &Ext("arp3-subscribers");
    require &Ext("arp3-mytags");
    require &Ext("arp3-data");
    require &Ext("arp3-menu");
    require &Ext("arp3-links");
}; # eval

$g_thisserver = $ENV{SERVER_NAME};
$g_browser = $ENV{HTTP_USER_AGENT};

$g_settings = &db_select_row("SELECT * FROM $db_table_SETTINGS WHERE id=1");
%g_settings = %$g_settings;

$g_profile = &db_select_row("SELECT * FROM $db_table_OWN WHERE id=1");

&ReadInput;
$g_a0 = $INFO{a0};
$g_a1 = $INFO{a1};
$g_a2 = $INFO{a2};
$g_a3 = $INFO{a3};
$g_a4 = $INFO{a4};
$g_ret = $INFO{ret};

if (! $g_a0) {$g_a0 = $FORM{a0}}

if ($g_a0 eq "log")
    {&Login}
#     {print "Hello"}
elsif ($g_a0 eq "aut")
    {&Autoresponders}
elsif ($g_a0 eq "cam")
    {&Campaigns}
elsif ($g_a0 eq "fil")
    {&Filters}
elsif ($g_a0 eq "tra")
    {&TrackingTags}
elsif ($g_a0 eq "pro")
    {&Profile}
elsif ($g_a0 eq "set")
    {&Setup}
elsif ($g_a0 eq "ver")
    {&Version}
elsif ($g_a0 eq "bro")
    {&Broadcast}
elsif ($g_a0 eq "bak")
    {&Backup}
elsif ($g_a0 eq "res")
    {&Restore}
elsif ($g_a0 eq "cut")
    {&MyTags}
elsif ($g_a0 eq "lnk")
    {&Links}
else
    {&Login}

&DoExit;

http://myHost/perl/arp3/arp3.pl?a0=log
по такому запросу открывается форма логина ...
ввожу логин и ... "The page cannot be displayed"

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Цитировать
KhasDenis:
"The page cannot be displayed"


Значит, что адрес неправильный или настройки сервера не соотсветсятвующие, но со скриптом никак не связано.

Где строчка #!/usr/bin/perl ? Если запускаешь под mod_perl, то в скрипте есть опасные конструкции для этого.

зы: Лучше присылать лишь нужные части скрипта. А еще лучше сэмулировать проблему в более коротком и понятном стрипте. Если честно, то что я увидел подвергло меня в ужас.
0 OK, 0:1

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
Цитировать
ondr:
Значит, что адрес неправильный или настройки сервера не соотсветсятвующие, но со скриптом никак не связано.

бред какойто

Цитировать
KhasDenis:
скрипт после своей работы выдает "The page cannot be displayed"

это не скрипт выдает, а браузер.

надо отлаживать - смотреть что в поле a0 формы логина и смотреть соответствующую процедуру.
ну, будем исповедоваться?

Оффлайн KhasDenis

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 49
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
как я понял логику скрипта ... сначала инклюдятся определенные файлы, а потом в зависимости от запроса выполняется функция ...
в моем случае Login. Она находится в файле arp3-login.pl ... такой файл есть в системе, в той же папке .... если даже что то не так в функции, то я ожидал увидеть все что угодно только не "The page cannot be displayed" .... вот может настройки сервера не соответствующие? можно здесь по конкретней?

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Цитировать
AliMamed:
бред какойто

Цитировать
KhasDenis:
то я ожидал увидеть все что угодно только не "The page cannot be displayed" .... вот может настройки сервера не соответствующие? можно здесь по конкретней?


Данное сообщение выводится лишь в то случае, если страница (сайт) отсутствует! И никак иначе!!!

Причин может быть море!
0 OK, 0:1

Оффлайн KhasDenis

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 49
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
View source формы ....


по представленному выше скрипту подскажите, кто будет обрабатывать ее ?
спасибо, получил уже много полезной информации

Оффлайн AliMamed

  • \\o/ ali akbar \\o/
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2409
  • +2/-0
  • 2
    • Просмотр профиля
    • http://alimamed.pp.ru
[off]я в этом гоне больше не участвую. что я по этому поводу думаю и что делать я сказал[/off]
смотри субпроцедуру Login - почему она не отрабатывает при передаваемых параметрах
ну, будем исповедоваться?

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
KhasDenis
Поменяй POST на GET в форме и ты сразу увидишь где у тебя ошибка:

а что бы далеко не ходить:

при передаче параметра action=\'/perl/arp3/arp3.pl?a0=log&a1=pro\' проверяется наличие в начале заголовка (http://) если его нет, то автоматически перед значением action вставляется URL текущей страницы в итоге форма активизируется на ссылку:
http://myHost/perl/arp3/perl/arp3/arp3.pl?a0=log&a1=pro

Естественно сервер не будет находить страницу

Оффлайн KhasDenis

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 49
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Похоже на фантастику, но скрипт перестал работать совсем :(
После моих в нем ковыряний, вернул старую версию ...
HTTP 500 -Internal server error.
Это в IE,
konqueror же пишет Software error:
Undefined subroutine : &Apache::ROOTwww....
Откуда браузер может взять эту информацию ? ему передается только код ошибки, или нет ?
Нашел в инете инфу, что проблема может быть в старой версии модуля CGI. Как мне глянуть мою ?

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Цитировать
KhasDenis:
HTTP 500 -Internal server error

Чти логи, либо перенаправь вывод ошибок в броузер.

Цитировать
Нашел в инете инфу, что проблема может быть в старой версии модуля CGI. Как мне глянуть мою


Все тут:
$CGI::revision
$CGI::VERSION
либо посмотри в файле CGI.pm

Цитировать
Undefined subroutine : &Apache::ROOTwww....


Возможно CGI.pm тут не при чем.
0 OK, 0:1

Оффлайн KhasDenis

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 49
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
сэмулировал проблему в более коротком скрипте:
-------------------------------------------------------
#! /usr/lib/perl

use CGI::Carp qw(fatalsToBrowser);

-------------------------------------------------------
таже ошибка ... perl у меня с дистрибутива Red Hat 7.3

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Посмотр что в error_log.
Там и лежит твоя ошибка
The documentations is your friend

Оффлайн KhasDenis

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 49
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
в /var/log/httpd

есть пять файлов
error_log
error_log1
error_log2
error_log3
error_log4

все кроме четвертого пустые (((, а в четвертом последний лог от 25 августа

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Если по дефолту то смотри здесь
/usr/local/apache/logs/error_log
The documentations is your friend

Оффлайн KhasDenis

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 49
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
нашел :)
Premature end of script headers : /var/www/cgi-bin/arp3/arp3.pl
и тоже самое для эмулированного скрипта

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28