Web‑серверы и прикладные web‑сервисы: Nginx, Apache, HAProxy, панели управления и скрипты для администрирования.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
icb
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Непрочитанное сообщение
icb » 2010-01-07 2:04:42
Раньше сайт работал нормально, после переноса на другой сервер перестал.
В логах пишет
Код: Выделить всё
[Wed Jan 06 22:49:34 2010] [error] [client 95.26.147.9] Useless use of a constant in void context at ../lib/login.cgi line 113.
[Wed Jan 06 22:49:34 2010] [error] [client 95.26.147.9] syntax error at ../lib/login.cgi line 551, near "( err"
Строки 113, 551
Код: Выделить всё
if($l eq '' or $p eq ''){ return err('Пустое имя пользователя или пароль.'); }
if($sid eq '' or $sid == 0){ return( err("Вы не вошли в систему.") ); }
Вроде обычный код, да и работал же.
Может надо какие модули перла доставить?
Сейчас стоит такое
p5-DBI-1.60.9 The perl5 Database Interface. Required for DBD::* modules
p5-Storable-2.21 Persistency for perl data structures
p5-gettext-1.05_2 Message handling functions
perl-5.8.9_3 Practical Extraction and Report Language
icb
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2010-01-07 2:20:03
что такое err?
это какая-то фнцкция может быть которая не подключенная...
вообще надо смотреть код, покажи или дай доступ...
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
icb
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Непрочитанное сообщение
icb » 2010-01-07 2:47:00
что такое err?
Это объявлено ниже в файле login.cgi
Код: Выделить всё
sub err
{
$errstr = shift;
return (undef,undef);
}
вообще надо смотреть код
У меня нет к нему доступа

Да и говорят: "все же работало на старом сервере".
icb
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2010-01-07 2:54:20
можно попробовать так:
Код: Выделить всё
if($sid eq '' or $sid == 0){
return err("Вы не вошли в систему") ;
}
а где 551 строка?
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
icb
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Непрочитанное сообщение
icb » 2010-01-07 3:24:46
можно попробовать так:
Ошибка осталась прежней, только на следующей строке.
а где 551 строка?
Не совсем корректно объеденил строки
113
Код: Выделить всё
if($l eq '' or $p eq ''){ return err('Пустое имя пользователя или пароль.'); }
551
Код: Выделить всё
if($sid eq '' or $sid == 0){ return( err("Вы не вошли в систему.") ); }
Везде вызывается err, но почему ошибки разные?
icb
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2010-01-07 3:28:05
2 строки по разному написаны
я не знаю что перед ними и что после....
попробуй так:
Код: Выделить всё
if($sid eq '' or $sid == 0) { die "Вы не вошли в систему"; }
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2010-01-07 3:30:52
возвращается не определенное значение , это просто придуприждение
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
icb
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Непрочитанное сообщение
icb » 2010-01-07 3:33:59
А почему вообще появляется эта ошибка?
Чем не нравится err?
icb
-
ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
-
Контактная информация:
Непрочитанное сообщение
ProFTP » 2010-01-07 3:37:30
точно сказать не могу....
надо попробовать
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'


ProFTP
-
icb
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Непрочитанное сообщение
icb » 2010-01-07 4:45:50
Просто править код чужих сайтов особо не получится

Да и ошибка скорее всего связана действительно с переездом.
icb
-
thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Непрочитанное сообщение
thefree » 2010-01-07 19:48:30
Код: Выделить всё
sub err
{
$errstr = shift;
return (undef,undef);
}
Это точно полностью ВСЯ функция?
Правильнее будет
Код: Выделить всё
sub err()
{
$errstr = @_;
return (undef,undef);
}
if(!defined($l) or !defined($p)) { return err("Пустое имя пользователя или пароль."); }
if(!defined($sid) or $sid eq 0){ return err("Вы не вошли в систему."); }
Версия perl изменилась у Вас.
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
thefree
-
icb
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Непрочитанное сообщение
icb » 2010-01-07 21:40:19
Это точно полностью ВСЯ функция?
Да.
Версия perl изменилась у Вас.
Да.
Можно заставить старые скрипты работать без переделки?
icb
-
icb
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Непрочитанное сообщение
icb » 2010-01-08 2:51:57
Версия perl поменялась с 5.8.8 на 5.8.9 - не должно быть так критично для скриптов.
icb
-
thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Непрочитанное сообщение
thefree » 2010-01-08 16:54:34
icb писал(а):Версия perl поменялась с 5.8.8 на 5.8.9 - не должно быть так критично для скриптов.
не должно быть, но еще есть модули ... и бла бла бла ... То что я вам порекомендовал помогло?
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
thefree
-
icb
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Непрочитанное сообщение
icb » 2010-01-08 19:12:19
То что я вам порекомендовал помогло?
Да, хватило убрать скобки у return
Но вылезла куча других ошибок
Код: Выделить всё
print() on closed filehandle MEM at
readline() on closed filehandle MEM at
icb