Forum Webscript.Ru

Программирование => Perl => Тема начата: alexxmfk от 24 Ноября 2002, 03:35:32

Название: Проблема со скриптом
Отправлено: alexxmfk от 24 Ноября 2002, 03:35:32
У меня возникла проблема с одним скриптом...
выпадает 500-я ошибка.
в логе написанно много всего мне непонятного.
Скрипт вместе с логом здесь:
http://forum.mfkgroup.ru/uploads/adv.zip

Я был бы очень признателен, если бы кто-нибудь неполенился на него взглянуть, я уже и незнаю чего делать.
Название: Проблема со скриптом
Отправлено: Mog. от 24 Ноября 2002, 08:41:21
Я вот не поленился и взглянул. А сам то ты на него глядел? И логи эти читал?
Цитировать
в логе написанно много всего мне непонятного

Родной! Да там же все практически по русски расписано и даже номера строчек указаны. Остается загрузить в редактор скрипт и все. 989 строка, например
   prinicksfrom),"";
это что, нормально?
далее по логам 1320 строка, а точнее уж с 1319 начинать надо

print "
";
print "\\n";

и т.д. по логам.
И пока все ошибки не исправишь, так и будешь получать ошибку 500.
Название: Проблема со скриптом
Отправлено: alexxmfk от 24 Ноября 2002, 14:43:47
Если бы я ещё достаточно хорошо знал перл...
Ну ладно, буду копаться...
Название: Проблема со скриптом
Отправлено: alexxmfk от 25 Ноября 2002, 00:03:34
Все видимые ошибки в скрипте я исправил, но скрипт до сих пор выдаёт 500-ю ошибку, а в эррорлоге следующие строки:
[Sun Nov 24 23:52:01 2002] [info] [client 62.152.66.46] (32)Broken pipe: client stopped connection before rwrite completed
[Sun Nov 24 23:52:12 2002] [info] [client 62.152.66.46] (32)Broken pipe: client stopped connection before send body completed
[Sun Nov 24 23:52:19 2002] [info] [client 62.152.66.46] (32)Broken pipe: client stopped connection before send body completed
failed to open log file
fopen: Permission denied
[Sun Nov 24 23:54:03 2002] [error] [client 62.152.66.230] Premature end of script headers: /pub/home/mfkgroup/info/cgi-bin/adv/admin.pl

Скрипт по прежнему лежит тут:
http://forum.mfkgroup.ru/uploads/adv.zip
Название: Проблема со скриптом
Отправлено: YA от 25 Ноября 2002, 00:28:32
И в логах по-прежнему все написано - читай!
Название: Проблема со скриптом
Отправлено: alexxmfk от 25 Ноября 2002, 00:56:14
Цитировать
И в логах по-прежнему все написано - читай!

Дело в том, что с правами всё в порядке...
Название: Проблема со скриптом
Отправлено: Tarasenko от 25 Ноября 2002, 11:10:39
Млин! Кто же такие скарипты пишет! За 15 минут 2 дырки нашел. Листинг дирректорий и еще одну шняжку. Отвратительно!
Название: Проблема со скриптом
Отправлено: Tarasenko от 25 Ноября 2002, 11:14:46
Кстаи, у меня нету 500 ошибки - вывод смотрите внимательней права доступа. Или путь к перлу
Название: Проблема со скриптом
Отправлено: alexxmfk от 25 Ноября 2002, 16:11:03
Скрипт был рабочий, до последнего времени, пока что-то не случилось на сервере или кто-то не поопался на моём фтпшнике...

Вот что мне написал хостер на мой запрос:
Цитировать

После запуска скрипта из командной строки, были выданы следующие
ошибки:

mfkgroup@v1:~/info/cgi-bin/adv#./admin.pl

String found where operator expected at ./admin.pl line 989, near "$clit """
        (Missing operator before ""?)
syntax error at ./admin.pl line 989, near "$clit """
syntax error at ./admin.pl line 1285, near "EM>"
String found where operator expected at ./admin.pl line 1287, near "print ""
  (Might be a runaway multi-line "" string starting on line 1285)
        (Missing semicolon on previous line?)
syntax error at ./admin.pl line 1287, near "print ""
Unrecognized character \\307 at ./admin.pl line 1287.

mfkgroup@v1:~/info/cgi-bin/adv#


Буду исправлять...
Название: Проблема со скриптом
Отправлено: alexxmfk от 25 Ноября 2002, 16:33:05
Пара вопросов:
Как правильно записать такие строки:

print "",&commas($displaycount),"";
print "",&commas($clicksfrom),"";
print "$foreignperc";


Где ошибка?


print "

Ежедневная статистика для аккаунта: ";
print "$INPUT{\'advert\'}";
if ($ShortenedList) {
print "
(За последние пать недель)";
}

Название: Проблема со скриптом
Отправлено: Mog. от 26 Ноября 2002, 15:40:38
Цитировать
Как правильно

Можно так:
print "\\",&commas ($displaycount), \\" ";
print "\\",&commas($clicksfrom),\\"";
print "$foreignperc";
Цитировать
Где ошибка?

только в слове "пать"
Название: Проблема со скриптом
Отправлено: Mog. от 26 Ноября 2002, 15:59:17
Э! Я дико извиняюсь! Первый кусок правильный.
commas то подпрограмма.
Тормозю\'с :)
Название: Проблема со скриптом
Отправлено: alexxmfk от 26 Ноября 2002, 19:20:35
Если всё правильно, то как же объяснить выдаваемые эрроры, ведь именно эти строки обозначены, как содержащие ошибки.
Название: Проблема со скриптом
Отправлено: Mog. от 26 Ноября 2002, 19:43:32
19:35 (время московское), скачал скрипт, открыл окно мс-дос, сделалC:\\web\\help\\misc>perl -c admin.pl
получил
admin.pl syntax OK
в чем проблема ?
Название: Проблема со скриптом
Отправлено: alexxmfk от 26 Ноября 2002, 20:15:06
Странно...
А проблема в том, что скрипт выдаёт 500-ю ошибку, а хостер прислал мне ответ с Вышеуказанными ошибками :(
Название: Проблема со скриптом
Отправлено: Chs от 26 Ноября 2002, 21:54:26
use CGI::Carp qw(fatalsToBrowser);
Название: Проблема со скриптом
Отправлено: alexxmfk от 27 Ноября 2002, 03:10:14
Chs
????
Название: Проблема со скриптом
Отправлено: Mog. от 27 Ноября 2002, 07:42:35
Цитировать
Chs
????

Тебе посоветовали вставить в скрипт
use CGI::Carp qw(fatalsToBrowser);
 ну например второй строкой. Он (скрипт) будет показывать в броузере не просто "ошибка 500", а распишет эту ошибку подробнее. Если это ошибка в скрипте. Ну а если ошибка так и останется "внутренней ошибкой сервера", то значитца ошибка не в скрипте а снаружи (кривые права на используемые скриптом файлы и т.д.).
Название: Проблема со скриптом
Отправлено: Tarasenko от 27 Ноября 2002, 17:53:44
Блин, сервер настройте нормально! (хостеру!)
Название: Проблема со скриптом
Отправлено: alexxmfk от 27 Ноября 2002, 18:44:40
Всем огромное спасибо, оказываеться была какая-то ошибка на стороне хостера, теперь, когда я исправил все свои ошибки скрипт заработал.