https://help.superhosting.bg/perl-scripts.html
  • bg

Хостинг, Домейни, Cloud, Виртуални сървъри (VPS), Managed VPS, SSL сертификати

Работа с Perl (.pl) скриптове

Контролен панел cPanel
Perl, работа с perl скриптове, pl scripts

При всички Linux хостинг планове се поддържа Perl. Поддържаната версия на Perl e 5.10. За коректната работа на скриптове написани на Perl е необходимо да е изпълнено следното:

1. Правата на скрипта трябва да са 0755

2. Необходимо е скрипта да върне хедър, като това може да се осъществи с поставяне, например на следното:

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

3. Пътят до Perl, който се задава в началото на скрипта, е:

#!/usr/bin/perl

4. Скриптът е необходимо да бъде в UNIX формат (не в ANSI).

Ето примерен скрипт, който функционира коректно:

#!/usr/bin/perl
print "Content-type: text/plain", "\n\n";
use strict;
use warnings;
print "Hello, World!\n";

Ако при тестовете с посочения скрипт се получи съобщение за грешка Internal Server Error, то най-вероятно правата на файла не са 0755.

На сървърите за споделен хостинг Perl работи като CGI или FastCGI.

По подразбиране се ползва CGI протокола. Ползването на FastCGI става чрез модула CGI:Fast.

За да се активира FastCGI е необходимо в директорията на скрипта във файл .htaccess да се добави следното:

AddHandler fcgid-script .pl


Също така в самия скрипт е необходимо да се укаже ползването на модула. Ето примерен скрипт, който работи под FastCGI:

#!/usr/bin/perl
print "Content-type: text/plain", "\n\n";
use strict;
use FCGI;
use Data::Dumper;
use IO::Handle;my $count = 0;my $in = new IO::Handle;
my $out = new IO::Handle;
my $err = new IO::Handle;
my $r = FCGI::Request($in,$out,$err);while($r->Accept() >= 0) {
my $me = `whoami`;
$out->print( "Content-type: text/html\r\n\r\n");
$out->print( "<pre>");
$out->print( "Count: ",($count+=3),"\n");
$out->print( "Me: $me\n");
$out->print( "Env: " . Dumper(\%ENV) . "\n");
$out->print( "Len: " . $ENV{'CONTENT_LENGTH'} . "\n");
if($ENV{'CONTENT_LENGTH'}) {
my $len = $ENV{'CONTENT_LENGTH'};
my $buf;
read(STDIN,$buf,$len);
$out->print( "POST ($len): $buf\n");
}
}

След като се достъпи скрипта през уеб, на страницата ще се визуализира подробна информация, в която ще присъства реда:

'FCGI_ROLE' => 'RESPONDER',

Още един тестов скрипт, който работи под CGI и FastCGI:

#!/usr/bin/perluse CGI::Fast qw(:standard);
$COUNTER = 0;
while (new CGI::Fast) {
print header;
print start_html("Fast CGI Rocks");
print
h1("Fast CGI Rocks"),
"Invocation number ",b($COUNTER++),
" PID ",b($$),".",
hr;
print end_html;
}

При достъпването на този скрипт през уеб, когато се ползва CGI протокола, при презареждане на страницата ще се вижда различен номер на PID (proccess ID). Това означава, че всеки път се стартира нов процес.

Когато е активиран FastCGI, при презареждане няма да се стартира нов, различен процес за обработката на perl скрипта и номера на процеса (PID) ще си остане същия. Ще се промени номерът на извикванията (Invocation number).

500px270px
SuperHosting.BG
    Контролен панел cPanel
  • Опции за напреднали в SuperCache Manager
    Освен основните настройки за кеширане, в SuperCache Manager са налични допълнителни опции - за напреднали. Чрез тези опции можете да направите фина настройка на системата за кеширане. От тук можете... »
  • SuperCache Manager by SuperHosting
    SuperCache Manager е един от наличните супер-инструменти в cPanel, чрез който можете да ускорите неимоверно зареждането на вашите уеб сайтове. SuperCache е уеб ускорител (Web Accelerator), който кешира целия изходен код... »
  • Супер-Инструментите в cPanel
    В контролния панел cPanel се предлагат специалните супер инструменти, разработени от СуперХостинг.БГ, с които ще управлявате по-бързо и лесно съдържанието и уеб сайтовете, разположени в хостинг акаунта. SUPERHOSTING TOOLS В раздел SuperHosting... »
  • Мениджър на потребители в cPanel
    През мениджъра за потребители в cPanel можете да създавате нови потребители, да редактирате съществуващи, да променяте пароли и да задавате права за достъп до FTP и имейл и други. Списък с... »
  • Промяна на PHP версията за определена директория
    През PHP Manager в cPanel можете да променяте PHP версията за целия акаунт или за отделна директория. По-долу е описан начинът за ползване на различна PHP версия, за конкретна директория (сайт)... »
Всички права запазени © 2005-2017 , www.superhosting.bg