Forum Webscript.Ru

Программирование => Perl => Тема начата: metton от 19 Июля 2003, 00:51:52

Название: Нестабильная работа Perl...
Отправлено: metton от 19 Июля 2003, 00:51:52
...точнее, не самого Perl-а, а скриптов через броузер. Нестабильность состоит в том, что иногда Perl сам запускается при обращении к скрипту, а иногда даже если сам его запускаю, скрипт в браузере с локального сервера никак не хочет исполняться.
Название: Нестабильная работа Perl...
Отправлено: Макс от 19 Июля 2003, 02:20:44
Цитировать
иногда Perl сам запускается при обращении к скрипту, а иногда даже если сам его запускаю, скрипт в браузере с локального сервера никак не хочет исполняться.
не кури больше эту дурь :)

скрипт в броузере не выполняется, он выполняется на сервере и отдает броузеру (клиенту) HTML-код.

Вообщем либо ты что-то не настроил либо не разобрался как все это работает
Название: Нестабильная работа Perl...
Отправлено: metton от 19 Июля 2003, 23:30:07
2Макс
Цитировать
скрипт в броузере не выполняется, он выполняется на сервере и отдает броузеру (клиенту) HTML-код

Оговорился.

Цитировать
Вообщем либо ты что-то не настроил либо не разобрался как все это работает

Что именно это может быть, не подскажешь?
Название: Нестабильная работа Perl...
Отправлено: Макс от 20 Июля 2003, 00:39:19
Цитировать
Что именно это может быть, не подскажешь?
конечно нет. Я же не телепат.
Проблему опиши нормально, на языке программиста
Фраза
Цитировать
иногда Perl сам запускается при обращении к скрипту, а иногда даже если сам его запускаю,
(если учесть что речь идет о CGI-скриптах) звучит как-то глуповато.

ЗЫ
Цитировать
Оговорился.
если хочешь получать ответы, продумывай вопросы заранее. Это ведь тебе надо
Название: Нестабильная работа Perl...
Отправлено: metton от 20 Июля 2003, 03:18:29
Есть файл index.html
В нём есть строчки:


В этих файлах только print-ы. Одно время они запускались нормально. Теперь же почему-то не пашут - при обращении к index.html выводится только html из этого файла и не выводится результат работы скриптов.
Фишка в том, что раньше он как-то сам запускался (я просто заходил на сайт на локальном сервере и всё работало), а теперь не так.
Если же пытаться запустить footer.pl отдельно - http://localhost/cgi-bin/footer.pl, то выдаётся Internal Server Error.
Название: Нестабильная работа Perl...
Отправлено: glebushka от 20 Июля 2003, 03:31:22
Ну наконец то ближе к делу.
Теперь назови ось, версию перл, версию вебсервера.
Или ты редактировал скрипт, и теперь он не хочет выполняться, или ты редактировал конфы вебсервера и он теперь не знает что такое перл, или дело в самом перле.
1) Попробуй, в режиме коммандонй страки, не выходя из Вынь, написать следующее:
c:\\путь_к_перл>perl -c g:\\путь_к_скрипту\\footer.pl
и запости сюда ответ перла.
2) создай файл следующего содержания:
#!/usr/bin/perl -w
use strict;
print "Content-type: text/html; Charset=windows-1251\\n\\n";
print "Всё ок.";
exit;
Назови его, например, test.cgi положи в папку с другими скриптами, и запусти из браузера.
О результатах докладАй сюда;)
Название: Нестабильная работа Perl...
Отправлено: metton от 20 Июля 2003, 04:20:37
2glebushka
1) e:\\internet\\home\\job\\mslu\\rwj\\cgi-bin\\footer.pl syntax OK
Я уже проверял до этого скрипт непосредственно в Перле - всё нормально.
Кстати, директива -с - это проверка синтаксиса, как я понял?

2) Internal Server Error
Название: Нестабильная работа Perl...
Отправлено: Wyclef от 20 Июля 2003, 13:07:11
А вот так?
Замени #!/usr/bin/perl на #!perl.
Путь до перла в autoexec.bat прописан?

[OFF]У меня на локалхосте только Apache (It worked!):
А для каждого проекта завожу виртуальный сервер - httpd.conf:

NameVirtualHost 127.0.0.2

    ServerName 127.0.0.2
    ServerAdmin root@localhost
    DocumentRoot "d:/home/project/WWW"
    ScriptAlias /cgi-bin/ "d:/home/project/cgi-bin/"
    ErrorLog d:/home/project/error.log
    CustomLog d:/home/project/access.log common


[/OFF]
Название: Нестабильная работа Perl...
Отправлено: Макс от 20 Июля 2003, 13:59:16
metton а что логи апачей  по поводу Internal Server Error говорят ?

У тебя вообще e:/usr/bin/perl.exe - существует ?
Название: Нестабильная работа Perl...
Отправлено: metton от 20 Июля 2003, 15:35:59
2Wyclef
autoexec.bat вообще пустой... (как прописать этот путь, в смысле, как указать, чтобы "компьютеру было понятно", что этот путь именно к Перлу?)

Насчёт виртуальтных хостов - у меня всё то же самое.



2Макс
Файл существует, но по адресу С:/usr/bin/perl.exe. Чуть выше написано, что я скрипт проверял свой скрипт на ошибки в синтаксисе.


Из разных записей в тему нашёл там такие:
[Sun Jul 20 03:18:03 2003] [error] [client 127.0.0.3] attempt to invoke directory as script: e:/internet/home/job/mslu/rwj/cgi-bin
[Sun Jul 20 15:31:08 2003] [error] [client 127.0.0.3] (2)No such file or directory: couldn\'t spawn child process: e:/internet/home/job/mslu/rwj/cgi-bin/footer.pl

Ошибка о несуществующем файле или директории очень странна. Всё на месте - проверял.


Ещё вопрос по Apache:
Среди программ, загружающихся при старте системы, Apache я не нашёл, а он всё же запускается, причём от системы и убить процесс нельзя. Как это изменить и как он вообще запускается?
И ещё: когда запускаю батник с таким содержанием:
Apache.exe -k shutdown
то убивается только процесс, запущенный вручную, а тот который был создан при старте системы, выдаёт сообщение, что
Cannot read apache PID file c:/program files/apache group/apache/logs/httpd.pid
Этот самый pid появляется только если запускать Apache вручную. Что это за файл и почему его нет когда нужно (:insane: ) ?
Название: Нестабильная работа Perl...
Отправлено: Макс от 20 Июля 2003, 16:10:59
metton
Цитировать
Файл существует, но по адресу С:/usr/bin/perl.exe.
на диске e:\\ пробовал создавать такие папки или скрипты на диск C:\\ перенести
Название: Нестабильная работа Perl...
Отправлено: Wyclef от 20 Июля 2003, 17:06:36
Цитировать
metton:
как прописать этот путь

Например, у меня так:
SET PATH=C:\\Perl\\;C:\\Perl\\5.6.0\\bin;C:\\Perl\\5.6.0\\bin\\MSWin32-x86;C:\\openssl\\bin
Под виндой в начале скриптов пишу просто #!perl.
Цитировать
Apache я не нашёл, а он всё же запускается, причём от системы и убить процесс нельзя

В w2k (если Apache работает как служба) убить можно в "Панели управления -> Администрирование -> Службы".
Название: Нестабильная работа Perl...
Отправлено: Phoinix от 21 Июля 2003, 10:43:32
Проверь в конфиге апачи следующие параментры...

- расширения Perl скриптов (по умолчанию только .cgi)

    AddHandler cgi-script .cgi .pl

- настройка SSI:
1. Вообще SSI

    Options Indexes Includes ExecCGI
    Options +Includes ExecCGI
    Options FollowSymLinks
    AllowOverride None


2. Посмотри в какой папке "парсятся" "инклюды"


    Options +Includes ExecCGI


3. В каких файлах (с каким расширением) "парсить" SSI

  AddType text/html .shtml
  AddHandler server-parsed .shtml .shtm

Потом поробуй еще раз запустить все...
Название: Нестабильная работа Perl...
Отправлено: metton от 21 Июля 2003, 12:13:00
2Макс
Цитировать
на диске e:\\ пробовал создавать такие папки или скрипты на диск C:\\ перенести

То есть хочешь сказать, что работает только когда и скрипт и интерпретатор расположены на одно диске? Хотелось бы сделать, чтобы работало с такой структурой, которая есть сейчас, да и работало.
Есть соображения?


2Wyclef
Цитировать
Например, у меня так:

SET PATH=C:\\Perl\\;C:\\Perl\\5.6.0\\bin;C:\\Perl\\5.6.0\\bin\\MSWin32-x86;C:\\openssl\\bin

А теперь не мог бы ты, пожалуйста, к чему ведут все эти пути(большинство мне непонятны), чтобы я смог перенести это себе?


Цитировать

В w2k (если Apache работает как служба) убить можно в "Панели управления -> Администрирование -> Службы".

Вот за это спасибо! :)

2Phoinix
Цитировать
- расширения Perl скриптов (по умолчанию только .cgi)

AddHandler cgi-script .cgi .pl

У меня: AddHandler cgi-script .bat .exe .pl .cgi


Цитировать
настройка SSI

Это опечатка или тут действительно замешан SSI?


Цитировать
1. Вообще SSI

Это у меня закомментировано: (кстати, что это?)
#
#    Options FollowSymLinks
#    AllowOverride None
#


И ещё вот это: (а это что?)

  Options Indexes FollowSymLinks ExecCGI
#  Options Indexes Includes
  AllowOverride All
  Allow from all



Цитировать
2. Посмотри в какой папке "парсятся" "инклюды"


Options +Includes ExecCGI



Это?


    DirectoryIndex index.htm index.html index.php

    Options Indexes FollowSymLinks MultiViews

    AllowOverride None

    Order allow,deny
    Allow from all
Название: Нестабильная работа Perl...
Отправлено: Phoinix от 21 Июля 2003, 12:31:30
metton
Цитировать
Есть файл index.html
В нём есть строчки:



А как ты думаешь, что это такое?

Что-то у тебя с конфигом нездоровье какое-то....

Вообщем - , это какие "примочки" Apache ты применяешь к определенной папке... а на каком диске у тебя хосты находятся?


Цитировать
Apache.exe -k shutdown


У меня вообще-то:
Apache.exe -w -n "Apache" -k stop
Название: Нестабильная работа Perl...
Отправлено: Wyclef от 21 Июля 2003, 12:36:10
metton
C:\\Perl\\ - путь до библиотек Berkeley DB (libdb.dll, libdb.lib, zlib.dll, zlib.lib) - для корректной работы
C:\\Perl\\5.6.0\\bin - путь до утилит (perldoc.bat, pod2html.bat и т.д.)
C:\\Perl\\5.6.0\\bin\\MSWin32-x86 - путь до бинарников перла (perl.exe, make.exe и т.д)
C:\\openssl\\bin - путь до OpenSSL (может тебе и не надо)

[off]...дааа, бардак там у тебя :)[/off]
Название: Нестабильная работа Perl...
Отправлено: metton от 22 Июля 2003, 12:36:09
2Phoinix
Цитировать
Вообщем - , это какие "примочки" Apache ты применяешь к определенной папке
Цитировать

Я так понял, что эти "примочки" применяются к папке, путь к которой идёт после слова Directory. Тогда что значит просто /  ? Это относится ко всем папкам?


Цитировать
а на каком диске у тебя хосты находятся?

Тут у меня осталась настройка со старого компа, на котором они были на Z. Теперь на E. Исправил, но на положение дел это не повлияло...



2Wyclef
Цитировать
C:\\Perl\\ - путь до библиотек Berkeley DB (libdb.dll, libdb.lib, zlib.dll, zlib.lib) - для корректной работы

В папке c:\\usr (и во всех поддиректориях), в которую я устанавливал Perl, таких библиотек я не нашёл... Где они могут быть?

Цитировать
...дааа, бардак там у тебя

Это естественно. Все же начинают с незнания. Вот пока я не знаю, у меня и бардак. Надеюсь, что тут мне помогут разобраться.



ЗЫ: забыл сказать конфигурацию:
W2K Server
Apache 1.3.23
ActivePerl, если верить файлу perl5.8.0.exe, версия 5.8.0


ЗЗЫЫ:
У меня в папке bin (где бинарники Perl) лежит такой батник: runperl.bat
При попытке его запустить через окошко терминала выдаётся следующее: `runperl\' not found.
Почему так и что это за файл? (Когда начались проблемы и я лазил по папкам Перла, я наткнулся на него, а так как название у него вполне недвусмысленное, попытался запуститью)
Название: Нестабильная работа Perl...
Отправлено: Wyclef от 22 Июля 2003, 13:51:23
Цитировать
В папке c:\\usr (и во всех поддиректориях), в которую я устанавливал Perl, таких библиотек я не нашёл... Где они могут быть?


Может тебе все это и не нужно...
У меня не ActivePerl как таковой (и слава богу :)) - юзаю пакет который вообще не требует инсталяции.
 [off]Здесь (http://forums.webscript.ru/showthread.php?s=&postid=84036#post84036), я говорил какой и что в себя включает.[/off]
Название: Нестабильная работа Perl...
Отправлено: metton от 22 Июля 2003, 20:20:51
2Phoinix

Цитировать
Вообщем - , это какие "примочки" Apache ты применяешь к определенной папке

Я так понял, что эти "примочки" применяются к папке, путь к которой идёт после слова Directory. Тогда что значит просто / ? Это относится ко всем папкам?


Цитировать
а на каком диске у тебя хосты находятся?


Тут у меня осталась настройка со старого компа, на котором они были на Z. Теперь на E. Исправил, но на положение дел это не повлияло...



2Wyclef
Цитировать
У меня не ActivePerl как таковой (и слава богу ) - юзаю пакет который вообще не требует инсталяции.


Вопрос ко всем: в инете распространён пакет ДЕНВЕР. Каково ваше мнение по его поводу? Стоит ли его устанавливать?
Название: Нестабильная работа Perl...
Отправлено: Wyclef от 22 Июля 2003, 20:58:19
ftp://theoryx5.uwinnipeg.ca/pub/other/ (http://ftp://theoryx5.uwinnipeg.ca/pub/other/)

Цитировать
perl-win32-bin-0.10.readme
This is a binary distribution for Win32 of Perl 5.6.1 and Apache 1.3.27,
together with mod_perl-1.27, mod_ssl / OpenSSL (0.9.7b), and php-4.3.2, all built with VC++ 6.0 (SP5). Also included are some popular non-core module packages such libnet, libwww-perl, Tk, and DBI. Perl was built using the sources for build 635 provided by ActiveState.


Цитировать
Perl-5.8-win32-bin.readme
This is a binary distribution for Win32 of Perl 5.8.0 and Apache 2.0.46, together with mod_perl-1.99, mod_ssl / OpenSSL (0.9.7b), and php-4.3.2, all built with VC++ 6.0 (SP5). Also included are some popular non-core module packages such libnet, libwww-perl, Tk, and DBI. Perl was built using the sources of build 806 provided by ActiveState.


И т.д.
[off]З.Ы. Стабильная работа под мелкософтом проверена :) (по крайней мере предыдущих версий)[/off]
Название: Нестабильная работа Perl...
Отправлено: Phoinix от 22 Июля 2003, 21:08:03
metton
Цитировать
Это относится ко всем папкам?


Да ко всем.

Не знаю, у меня стоит ActivePerl 5.8.0. я его юзаю спокойно, единственная проблема возникла при установке модулей из локальной папки, только из инета ставяться, ну еще если скрипт "корявый" запускаю, процесс потом фиг удалишь...
Название: Нестабильная работа Perl...
Отправлено: Yaroslav от 23 Июля 2003, 13:29:01
Цитировать
metton:
Ошибка о несуществующем файле или директории очень странна. Всё на месте - проверял.

в этом случае самая распостраненная ошибка новичков  - это когда файлы при переносе меняют свой РеГиСтР...
кстати, при проверке может еще и программа просмотра показывать нормально (если стоит напрмер показывать "все с маленьких")
а вообще скентовался бы с кем то и дал доступ что б кто то посмотрел что там у тебя ))
Название: Нестабильная работа Perl...
Отправлено: Phoinix от 23 Июля 2003, 17:22:09
Yaroslav
Это если только не под Win...
под Win регистр и наклон слеша не имеет никакого значения...
Название: Нестабильная работа Perl...
Отправлено: Phoinix от 23 Июля 2003, 17:27:43
Цитировать
metton:
ActivePerl, если верить файлу perl5.8.0.exe, версия 5.8.0


А ты уверен, что ты его ставил в папку e:/usr ?
Может все-таки e:/Perl ? Потому что ActivePerl по умолчанию хочет ставиться в папку Perl.
Название: Нестабильная работа Perl...
Отправлено: metton от 24 Июля 2003, 00:15:08
2Phoinix
Насчёт модулей у меня тоже была большая запарка. Даже тему на форуме создавал. В итоге десятки ответов и ни одного для реального решения проблемы.
В итоге знакомый подсказал, что нужно 2-ым (а не 3-им) ppm-ом устанавливать...

А вот насчёт папки - я писал, что Perl у меня установлен в C:\\usr, соответственно, бинарники - C:\\usr\\bin


2Yaroslav
Цитировать
в этом случае самая распостраненная ошибка новичков - это когда файлы при переносе меняют свой РеГиСтР

ЛЮДИ! Вы меня совсем за идиота держите?!! (Один говорит, что я положение Перла установить не могу, хотя я писал, где он у меня находится; другой про РеГиСтР.) Да нормально всё с регистром, тем более, в винде насколько я знаю (да и Phoinix говорит то же самое), регистр по барабану.


ЕЩЁ РАЗ ОБРАЩАЮ ВНИМАНИЕ: Perl установлен в C:\\usr
Название: Нестабильная работа Perl...
Отправлено: Phoinix от 24 Июля 2003, 11:07:26
metton
Чета я совсем запутался...
Если у тебя Perl стоит в C:/usr, то в заголовке скрипта соответственно должно быть:

#!c:/usr/bin/perl

Во всей теме данного выражения не попадалось, только...

#!e:/usr/bin/perl
#!usr/bin/perl
и просто
#!perl

Так какой заголовок все-таки у тебя????
Название: Нестабильная работа Perl...
Отправлено: metton от 24 Июля 2003, 22:53:29
2Phoinix
У меня стоял #!usr/bin/perl
Перепробовал все перечиленные тобой...
Ни один не дал положительного эффекта, даже #!c:/usr/bin/perl

ПОМОГИТЕ!!!
Название: Нестабильная работа Perl...
Отправлено: Макс от 25 Июля 2003, 03:24:46
metton
вначале ты писал, что у тебя перл нестабильно работает, теперь похоже он у  тебя вообще не работает.

Апач, простые ХТМЛ страницы и SSI у тебя нормально запускаются ? А http://localhost/cgi-bin/a.html - нормально отрабатывает (если туда a.html положить) ?
У тебя есть строка типа :
ScriptAlias /cgi-bin/ "C:/www/cgi-bin/"
в httpd.conf ?
Название: Нестабильная работа Perl...
Отправлено: Phoinix от 25 Июля 2003, 10:10:11
metton
Тогда мы долго будем ходить вокруг да около, может проще выложить куда-нибудь зазипованый конфиг апачи, файл хостов, скрипт который не работает, и readme.txt с путями где что у тебя находится...
Ибо или вопрос неправильно поставлен, или ошибок такая куча, что решив одну, остальные все равно не дают работать...

Если что, кидай на мыло phoinix@pyaticom.ru (phoinix@pyaticom.ru) или стучись в асю - 3311414
Название: Нестабильная работа Perl...
Отправлено: metton от 02 Августа 2003, 04:27:16
Всем спасибо! Всё заработало... после сноса окошек (сносил не по этому поводу) и переустановки всех компонетов.