Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - D.O.

Страницы: [1] 2 3
1
Кратко:
Как заставить mod_perl считать текущей директорией ту, в которой лежит скрипт, который сейчас исполняется?


Подробно:

У меня на локальной машине под Windows стоит набор из Perl и Apache с включённым mod_perl (который
отсюда: http://ftp://theoryx5.uwinnipeg.ca/pub/other/).
Я попробовал задействовать mod_perl н алокальном сайте.
Сделал как в этой инструкции:
http://library.mnwhost.ru/webdev/perl/mod_perl.php

--- фрагмент инструкции - начало ---

Для этого мы изменяем httpd.conf:

# Это мы закомментируем
#### ScriptAlias /cgi-bin/ "/home/my-project.ru/cgi-bin/"

# А это добавим
PerlModule Apache::Registry

SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
allow from all


--- фрагмент инструкции - конец ---

В результате CGI-скрипты стало невозможно исполнять: получаю error 403.

Раскомментирую строчку (несмотря на инструкцию):
ScriptAlias /cgi-bin/ "/home/my-project.ru/cgi-bin/"
(путь, естественно, другой)

Уже лучше: error 500.
В логах пишется:

--- log - start ---

[Mon Nov 06 23:11:21 2006] [error] Can\'t locate DBOperations.pm in @INC (@INC contains: c:/perl_dev/Perl/lib c:/perl_dev/Perl/site/lib . c:/perl_dev/apache/ c:/
perl_dev/apache/lib/perl) at c:/perl_dev/apache/cgi-bin/rp/section.pl line 8.
BEGIN failed--compilation aborted at c:/perl_dev/apache/cgi-bin/rp/section.pl line 8.

--- log - start ---

Без mod_perl всё работает. То есть mod_perl как-то меняет текущую директорию, и поэтому не находит мой модуль, лежащий в одной директории со скриптом. То есть текущей директорией оказывается не та директория, в которой лежит скрипт, который сейчас исполняется.
Это подтверждается ещё и тем, что скрипт не может открыть файл с шаблоном страницы, который находится с ним в одной директории.

Как заставить mod_perl считать текущей директорией ту, в которой лежит скрипт, который сейчас исполняется?

2
Perl / вопрос про ошибку: "Premature end of script headers"
« : 29 Сентября 2006, 12:18:32 »
Сделал сайт, протестировал на локальном сервере (Apache 2, Windows XP), всё нормально.
Выложил на хост (Apache 1.3.37, какой-то из Unix\'ов), - скрипт не работает.
В логах сообщение:
"Premature end of script headers".
Если там неправильно отдаются заголовки HTTP-ответа,то как такое может быть, что локально всё правильно, а на другом сервере неправильно?

При этом на почти аналогичном движке другой сайт работает нормально и локально, и у того хостера (только сервер другой).

3
Есть задача сделать сайт на нескольких языках, язык выбирается пользователем. Русский, английский, немецкий, китайский.
Я так понимаю, в одной базе MySQL всё это добро хранить невозможно, нужны разные базы с разными кодировками. Это возможно сделать на "виртуальном" хостинге или нужен dedicated server?
Кто-нибудь делал подобные проекты?

4
Perl / не устанавливается CGI:Session и Apache::Session
« : 15 Декабря 2005, 11:41:36 »
Проблема под Windows XP Pro SP2,
версия Perl:

C:\\>perl -v

This is perl, v5.8.4 built for MSWin32-x86-multi-thread
(with 3 registered patches, see perl -V for more detail)

Copyright 1987-2004, Larry Wall

Binary build 810 based on sources provided by
   ActiveState Corp. http://www.ActiveState.com
ActiveState is a division of Sophos.
Built Jun 17 2004 21:47:33


Другие модули (например, HTML::Template) устанавливаются успешно.
При установке CGI:Session Windows ругается на интерпретатор Perl, но работа не прекращается, просто всплывает окошко с предложением отправить отчёт об ошибке.
Скачивается модули нормально, проблемы возникают дальше, когда работает то ли nmake, то ли что-то ещё (могу потом прислать подробности).

Может быть, CGI:Session и Apache::Session платформозависимые и не работают под Windows? У кого-нибудь была такая проблема?

5
Каким бы вы хотели видеть каталог сайтов, с какими фичами?
Кроме статистики и счётчиков.
Ссылки прямые, отсутствие автоматической регистрации (чтобы не было мусора), - это подразумевается.

6
Perl / вопрос по CGI::Cookie
« : 08 Декабря 2005, 22:06:25 »
Можно ли с помощью CGI::Cookie поставить cookie на N секунд?
На N минут получалось:
-expires => \'+10m\'
а если я хочу на 10 секунд:
-expires => \'+10s\'
то он ставит cookie на какое-то непонятное долгое время.

Что делать?
В доке не расписано, какую букву ставить для какого промежутка времени, для минут угадывать пришлось.

7
Напомните кто-нибудь, как перезагрузить страницу?
Всего одной строчкой, как-то это делается-то с location.href, не могу вспомнить.

8
Поделитесь примером плана рекламной кампании по раскрутке сайта? Вашим реальным опытом.

9
Флейм / применение MySQL на тяжёлых сайтах
« : 16 Сентября 2005, 19:07:27 »
Насколько тяжёлые сайты можно держать с использованием MySQL?

Ситуация:
Есть сайт http://www.info101.ru, это доска объявлений. Изменение одной строки данных сразу двумя разными пользователями тут практически невозможно, поэтому полноценная поддержка транзакций не нужна. Возможно, и не понадобится в дальнейшем.

Пара вопросов:
Выдержит ли MySQL тяжёлую нагрузку в случае сайта info101.ru? Например, если 10 юзеров одновременно будут публиковать объявления и 100 одновременно будут их запрашивать.
Насколько большие базы могут жить под MySQL? Старые объявления будут вычищаться (например, не более 1000 в одном разделе). Разделов - несколько сотен. BLOB\'ов нет.

Думаю: либо оставаться на MySQL, либо перейти на PostgreSQL или другое. Коммерческую СУБД покупать жаба душит, хотя такой вариант не исключаю.

10
В httpd.conf прописано:

LoadModule rewrite_module modules/mod_rewrite.so
...

    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all


В .htaccess (лежит в htdocs) прописано:

RewriteEngine On
Options +FollowSymLinks
RewriteBase /
RewriteRule ^page1/q-(.*)$ page1.pl?q=$1

Вызываю:
http://localhost/page1/q-test

Получаю вместо выполненного скрипта:
403 Forbidden
You don\'t have permission to access /page1.pl on this server.

Сам скрипт вызывается нормально:
http://localhost/cgi-bin/page1.pl?q=test
и выполняется успешно.

Как заставить работать mod_rewrite, чтобы нормально вызывался скрипт?
Везде примеры для PHP, а для Perl и директории Cgi-bin ничего не нахожу.

11
У меня не срабатывает "ErrorDocument" на Apache 2 под Windows XP.

В .htaccess прописано:
ErrorDocument 404 /cgi-bin/page1.pl

В httpd.conf для всех директорий прописано:
AllowOverride All

А всё равно при запросе несуществующего документа заданный скрипт не выполняется, а выдаётся сама ошибка 404.

Чего мне не хватает?

12
Веб Сервера / Apache2 под Windows и CGI-скрипты
« : 14 Сентября 2005, 12:06:13 »
Что-нибудь ещё нужно, кроме этого в httpd.conf, чтобы выполнять перловые скрипты?

Вот фрагменты:

ScriptAlias /cgi-bin/ "C:/Apache2/Apache2/cgi-bin/"


    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all


AddHandler cgi-script .cgi .pl

Пытаюсь выполнить скрипт:
http://localhost/cgi-bin/printenv.pl
А MS IE предлагает мне созранить файл вместо того, чтобы вывести output скрипта в окне браузера. Попробовал созранить - сохраняется output скрипта, то есть скрипт выполняется.

Как заставить это работать нормально?
Много раз это делал, но на такое никогда ещё не нарывался. Может быть, проблема в MS IE?

13
Perl / маленький вопрос про редирект
« : 13 Сентября 2005, 21:06:23 »
Как мне из script1.pl вызвать script2.pl с некоторой строкой параметров так, клиенту (и пользователю браузера, и поисковому роботу) был виден только вызываемый им URL, а не URL реального script2.pl?
Как делается такой невидимый редирект?

14
Для поисковой оптимизации есть известная рекомендация использовать mod_rewrite для замены URL страниц сайта вида /page.cgi?param=value на /page/value.

Вопрос:
Как быть с существующими скриптами, которые формируют URL сыслок на страницы сайта? Можно обойтись без переписывания скриптов?

P.S.:
Статьи по теме прочитал (http://www.searchengines.ru/articles/004541.html и http://www.searchengines.ru/articles/004504.html). Там примеры только для PHP, а у меня Perl. Все ссылки имеют вид /cgi-bin/path/my_script.pl?param1=val1¶m2=val2

15
У кого есть реальный опыт заказа услуги SEO для сайта?
Как следить за ходом работы?
И через какое время можно увидеть первые результаты (сайт в десятке, в двадцатке)?
А то как-то стрёмно отдавать деньги за невидимый труд с отсроченным результатом. Тем более, что оптимизатор в случае чего придумает кучу отмазок, типа эффект только через N месяцев, меняяются алгоритмы оптимизации, надо ещё поработать, а я только давай и деньги выкладывай деньги за воздух.
Как не прогадать?

Страницы: [1] 2 3