Intro
- Я пытался настроить масон на своем рабочем столе Ubuntu.
- Это очень простая настройка, но у меня все еще были проблемы после чтения частей masonbook.com & mansonhq.com
- Я надеюсь, что кто-то может дать мне подсказку.Пожалуйста, смотрите ниже для более подробной информации.
Локальный сервер
- Рабочий стол Ubuntu 11.04
- Мейсон 1.44 (поставляется с Ubuntu)
- Новичок в perl /mason
Файлы
- mason.seedy2 - это скрипт cgi.По сути, я установил глобальную переменную -> $ user.Я хочу использовать его в index1.html
- index1.html - простой HTML-файл
- apache.conf - я не уверен, что сделал все правильно
Ошибка
1. type http://localhost:81/index1.html in browser
2.
error: Error during compilation of /var/www/test/sj3/public_html/index1.html:
Global symbol "$user" requires explicit package name at /var/www/test/sj3/public_html/index1.html line 2.
context:
1: <p>
2:
3: </p>
4:
code stack: /usr/share/perl5/HTML/Mason/Interp.pm:450
/usr/share/perl5/HTML/Mason/Request.pm:249
/usr/share/perl5/HTML/Mason/Request.pm:212
/usr/share/perl5/HTML/Mason/ApacheHandler.pm:94
/usr/share/perl5/Class/Container.pm:275
/usr/share/perl5/Class/Container.pm:353
/usr/share/perl5/HTML/Mason/Interp.pm:348
/usr/share/perl5/HTML/Mason/ApacheHandler.pm:874
/usr/share/perl5/HTML/Mason/ApacheHandler.pm:828
(eval 34):8
-e:0
apache.conf
# Listen to other ports
Listen 81
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test/sj3/public_html
PerlSetVar MasonCompRoot /var/www/test/sj3/public_html/
PerlSetVar MasonDataDir /var/www/test/sj3/mason/
Action html-mason /cgi-bin/mason.speedy2
SetHandler perl-script
PerlHandler HTML::Mason::ApacheHandler
index1.html
print %user
mason.speedy2
#!/usr/bin/perl -w
use strict;
use HTML::Mason::CGIHandler;
{
our($user, %session);
$user = "bla";
}
my $h = HTML::Mason::CGIHandler->new
(
data_dir => "$ENV{DOCUMENT_ROOT}/../mason",
allow_globals => [qw(%session $user)],
);
$h->handle_request;