Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 04:11 17.05.24 
Компютри и Интернет
   >> Perl
Всички теми Следваща тема *Кратък преглед

Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема работи само в конзолатанови  
Автор $burov (начинаещ)
Публикувано12.08.05 08:17



Здравейте,
принципно се занимавам с РНР, но сега ми се налага да ползвам едно API, написано на PERL и се сблъсквам с класическия проблем - Internal Server Error.

Това става дори при елементарен скрипт като този:

# !/usr/bin/perl
print "Content-type:text/html\n\n";
print "Hello, World";

Знам какви са условията за правилната работа на перл скриптовете:
1. Файла да се качи на сървъра в ASCII mode.
2. CHMOD 755

Какво става реално - ако съм пропуснал втората стъпка (755) error.log-a се пълни със съобщения за грешка, че файла не може да бъде стартиран. След като оправя този проблем, получавам Internal Server Error, а пък error.log-a няма нищо ново, въобще не е записало каквото и да е съобщение за грешка.

Няма значение дали скрипта е в cgi-bin или някъде другаде в web-tree, резултата е един и същ.

Ако пусна скрипта през конзолата, работи нормално. Няма синктактични грешки.

Къде е проблема?



Тема Re: работи само в конзолатанови [re: $burov]  
АвторDudelnABeerBottle (Нерегистриран)
Публикувано12.08.05 14:07



spored men, dude, zasega da opitash dve neshta - purvo da korigirash shebang line-a, da e '#!/usr/bin/perl', i vtoro - da proverish, dude, dali si na /usr/bin a ne na putkya mu lelina, dude.



Тема Re: работи само в конзолатанови [re: DudelnABeerBottle]  
АвторDudelnABeerBottle (Нерегистриран)
Публикувано12.08.05 14:10



Tva e nai-loshto che, dude, ne ti reportva che imash space char in the shebang line-a, dude, mnogo line-anyana rabota, dude. Mrazim toa feature, dude.



Тема Re: работи само в конзолатанови [re: DudelnABeerBottle]  
Автор $burov (начинаещ)
Публикувано12.08.05 14:21



Махнах интервала, но явно това не е било същинския проблем, след като Internal Server Error си стои. Пътя до PERL е правилен.

Все още в ерор лога нищо не пише за този файл.



Тема Re: работи само в конзолата [re: $burov]  
Авторsas (Нерегистриран)
Публикувано17.08.05 13:08



perl -ne 's/\r//g;print' < my.cgi >mynew.cgi
chmod +x mynew.cgi

vij dali mynew.cgi ti dava greshka.



Тема Re: работи само в конзолатанови [re: $burov]  
Автор kalchev (добряк)
Публикувано19.08.05 18:05



Не става ясно за какъв сървър става дума, но предполагам, че тестваш въврху Apache под Windows. Ако е така, опитай с #!perl - ако, разбира се Perl ти е добавен в PATH. То няма как да е и иначе - на сървара ти, а и в операционната система не съществува директория /usr/bin
Между другото, ако ползваш за тестове сървъра OMNI HTTPd, този проблем не се получава, там и без shabang подкарва скриптовете, ориентира се само по разширението (.pl, .cgi ).
Успех!



Тема Re: работи само в конзолатанови [re: $burov]  
АвторPesho tupoto (Нерегистриран)
Публикувано25.08.05 14:04



Sto ne kazesh v kakva sreda se probvash??
Apache ??,
OS: Win, BSD, Linux
httpd.conf - tuka trjabva da se konfigurira /cgi-bin/ i mod_perl sushto.

A inache skripta ti pri men raboti:))



Тема Re: работи само в конзолатанови [re: $burov]  
Автор AcidMemory ()
Публикувано26.08.05 12:26



щом работи само в конзолата, значи проблемът е, че не си настроил пърленето да ти бачка и през апача

ако си в CGI режим и да кажем ползваш файлове с разширение .pl => добаваш в хттпд.цонф файла следните неща:

AddHandler cgi-script .pl

<Directory "директория със скриптовете">
Options ...другите опции... ExecCGI
</Directory>



Тема Re: работи само в конзолатанови [re: $burov]  
Авторkiflito (Нерегистриран)
Публикувано21.09.05 09:36



abe kolega pogledni si inicializaciata na weba
na konzola ti raboti shtoto scripta e dobre
ama contenta e vyv format "Content-type: text/html\n\n", ima interval sled 2-te to4ki a gledam che tvoia script niama

aide pishi ako stane ma niama kak da ne stane :)

Perl Mongers :)



Тема Re: работи само в конзолатанови [re: $burov]  
Автор Ognen_Demon (Web-dev)
Публикувано20.10.05 15:49



По въпроса с HTTP-header-а по-добре, за да си сигурен че нямаш правописни грешки ползвай:

#!/usr/bin/perl
use strict;
use CGI;
my $q = new CGI;
print( $q->header );
print( "Hello world<br/>\n" );

при мен най-често допусканите грешки са тия:
1. бъркам пътя на Perl ( щото тествам на 3 машини )
- решение: оправяш си пътя
2. скрипта ми е виндовско ASCII
( carriage return + line feed ili mai beshe obratnoto... :P )
- решение: noret.pl ( виж по-долу )

USAGE: noret.pl <filename>
--- FILE BEGIN
#!/usr/bin/perl
my $fileName = $ARGV[ 0 ];
print( "Removing ENTERs from '$fileName'... " );
open( F, $fileName );
$file = join( "", <F> );
close( F );
$file =~ s/\r//gis;
open( F, "> $fileName" );
print( F $file );
close( F );
print( "Ok.\n" );
--- EOF


а иначе прочети това:






Страници по тази тема: 1 | 2 | >> (покажи всички)
Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.