The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Счетчик в perl  и cgi, !*! Zhenya, 27-Июн-02, 10:42  [смотреть все]
Столкнулся с такой штукой. Счетчик обращений на perl раболтает, закидываю его же в /cgi-bin/ с расширением cgi работать не хотит, пишет 500 Internal Server Error. Я уже все рекомендации посмотрел по этой ошибке и ни фига.
А вот листинг  counter.cgi:

#!/usr/bin/perl

$number_of_digits = "5";
$end = ".gif";
$pathtocounter = "counter.txt";
$pathtoimages = "http://localhost/icons/"; $graphics = "yes";
#=============================================================
print ("Content-Type: text/html\n\n");
open (COUNTER, "$pathtocounter");
$count = <COUNTER>;
chop ($count) if $count =~ /\n$/;
close (COUNTER);

$count += 1;

open (COUNTER, ">$pathtocounter");
print COUNTER ("$count");
close (COUNTER);

@digits = split(//, $count);

if ($number_of_digits eq "") {
        $howmany = @digits;
} else {
        $howmany = $number_of_digits;
}

$spline = '%0' . $howmany . 'd';
$count = sprintf("$spline", $count);

@digitimages = split(//, $count);

foreach $digitimage (@digitimages) {
    if ($graphics eq yes) {
        $image = "<img src=$pathtoimages"."$digitimage"."$end width=15 height=20>";
    print ("$image");
    } else {
        $plain = $digitimage;
    print ("$plain");
    }
}

exit;

  • RE: Счетчик в perl  и cgi, !*! rino, 13:28 , 27-Июн-02 (1)
    А что в серваковском error_log?
    Скорее всего у тебя в настройках сервера не раскомментирована строка,
    разрешающая исполнение cgi.
    У меня была такая проблема, я её решил чисто настройкой сервера.
    Кстати при исполнении скрипта у тебя пристуствует строка:

    (offline mode: enter name=value pairs on standart input)?


    • RE: Счетчик в perl  и cgi, !*! Zhenya, 04:51 , 28-Июн-02 (2)
      >А что в серваковском error_log?
      >Скорее всего у тебя в настройках сервера не раскомментирована строка,
      >разрешающая исполнение cgi.
      >У меня была такая проблема, я её решил чисто настройкой сервера.
      >Кстати при исполнении скрипта у тебя пристуствует строка:
      >
      >(offline mode: enter name=value pairs on standart input)?

      В логах то он пишет: No such file or directory.
      А в настройках все в норме вроде:
      ScriptAlias, AddHandler, Directory /var/www/cgi-bin прописаны, а больше по моему ничего не надо.
      Строчки (offline mode: enter name=value pairs on standart input)? нет.

      • RE: Счетчик в perl  и cgi, !*! uldus, 12:15 , 28-Июн-02 (3)
        А после #!/usr/bin/perl точно 0x0D символа возврата каретки нет ? Попробуй "#!/usr/bin/perl --" или "#!/usr/bin/perl -w"
        • RE: Счетчик в perl  и cgi, !*! Zhenya, 08:01 , 01-Июл-02 (4)
          >А после #!/usr/bin/perl точно 0x0D символа возврата каретки нет ? Попробуй "#!/usr/bin/perl
          >--" или "#!/usr/bin/perl -w"

          Нет все нормально тут. Попробывал оба. Он вообще файлы на perl запускать не хочет. А вот закидываешь какой-нибудь другой, например на C, выполняет без ошибок. Может интерпретатор не работает в cgi?

          • RE: Счетчик в perl  и cgi, !*! Арлекин, 08:14 , 01-Июл-02 (5)
            А у тебя ЭТОТ юзер перла-то видит ? Среду проверяй. Чудес не бывает.
            • RE: Счетчик в perl  и cgi, !*! Zhenya, 10:45 , 01-Июл-02 (6)
              >А у тебя ЭТОТ юзер перла-то видит ? Среду проверяй. Чудес не
              >бывает.
              То что лежит в каталоге /perl/ юзер запускает, значит видит, а вот в /cgi-bin/ запускает все акромя перла, видимо не видит. Что делать, чтоб увидел?
              Вообще то юзер тот же, а выходит что права доступа разные. Но то, что он перла не видит больше похоже на правду, как же исправить?


              • RE: Счетчик в perl  и cgi, !*! Арлекин, 10:59 , 01-Июл-02 (7)
                А на /cgi-bin/ в смысле /.../cgi-bin права у этого юзера есть ? Исполнение и просмотр - по любому должны быть. По-моему так, если не напутал чего. Это раз, и сам модуль name.cgi должен быть исполнимым.
  • RE: Счетчик в perl  и cgi, !*! andrey, 14:32 , 03-Июл-02 (10)
    а есть в конфигах апача такая строка:
    AddHandler cgi-script .cgi .pl  ...?
    pl там есть?
    • RE: Счетчик в perl  и cgi, !*! Zhenya, 08:47 , 04-Июл-02 (11)
      >а есть в конфигах апача такая строка:
      >AddHandler cgi-script .cgi .pl  ...?
      >pl там есть?
      Есть!!!


      • RE: Счетчик в perl  и cgi, !*! Zhenya, 09:59 , 04-Июл-02 (12)
        >>а есть в конфигах апача такая строка:
        >>AddHandler cgi-script .cgi .pl  ...?
        >>pl там есть?
        Ошибка та же  

        • RE: Счетчик в perl  и cgi, !*! niger, 14:10 , 05-Июл-02 (13)
          слушай, не знаешь такой простой программерский метод - берешь скрипт из него все вырезаешь после content-type, потом запускаешь если не проходит, то ошибка в настройках каталога||скрипта||\r\n||rwx если все работает, то вставляй частями код, или смотри errors
          • RE: Счетчик в perl  и cgi, !*! Zhenya, 10:18 , 08-Июл-02 (14)
            >слушай, не знаешь такой простой программерский метод - берешь скрипт из него
            >все вырезаешь после content-type, потом запускаешь если не проходит, то ошибка
            >в настройках каталога||скрипта||\r\n||rwx если все работает, то вставляй частями код, или
            >смотри errors

            Я уже писал, скрипт рабочий, это 100%, он в cgi-bin не запускается!

  • RE: Счетчик в perl  и cgi, !*! r7mka, 12:32 , 11-Июл-02 (15)
    Да, скрипт 100% рабочий!
    По всем симптомам - некорректно прописан путь до perl.
    Как проверить? Просто в shell: ./counter.cgi

    • RE: Счетчик в perl  и cgi, !*! Zhenya, 04:44 , 12-Июл-02 (16)
      >Да, скрипт 100% рабочий!
      >По всем симптомам - некорректно прописан путь до perl.
      >Как проверить? Просто в shell: ./counter.cgi
      У меня прописано в файле #!/usr/bin/perl(это правильный путь, проверено), а из shell он конечно не выполняет.





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру