Знает ли кто-нибудь способ установить парсер в качестве CGI скрипта когда веб-сервер не поддерживает AddHandler и Action, но поддерживает cgi, mod_rewrite, php, perl, python.
Может быть какой-то подход с mod_rewrite? Может кто-нибудь работал с IdeaWebServer?
Но думал я что можно создать скрипт на perl или том что сервер поддерживает. Скрипт тот бы получал папку со страной в Parser3 через $request:query и потом выполнял parser3.cgi предавая эту страницу до parser3.cgi и тот что получил предавал бы в броузер.
Только ещё через mod_rewrite сделать что всё выглядело нормально.
Думаю хорошо?
Но по IdeaWebServer доки - можно сказать что - не существуют. Только немножко на польском. Мне кажется что никто кроме одного польского хостера не используется нём. Но может быть что я не прав.
То, что Вы описываете скорее всего сделать можно (т.е. сделать промежуточный cgi-скрипт, который вызовет parser.cgi передав ему имя скрипта и установив переменные окружения по CGI-спецификации). Но у меня есть ощущение, что как "боевое" решение это не подойдет.
С путями все правильно? Парсер в руте операционной системы файл /index.html найдет?
На самом деле надо понять меняет ли перловый вызов system рабочий каталог для Парсера. Есть подозрение, что надо будет передать полный путь к index.html.
Техподдержка не отвечает. Клиент хочет чтоб сайт заработал сегодня. Деньги уже дал, сайт не работает.
Может быть что я решу поставить сайт на своём аккаунте на лучшем хостинге, но владелец домена (другая персона) сказал что домен будет только указанный на тот необычный хостинг. Клиент сказал что демена не должно менять.
Т.е. все запросы перекидывать через скрипт (например на PHP) на другой сервер на котором разместить сайт. В принципе не особо лучше варианта с запуском Парсера через Перл.
p.s. Наверное имеет смысл перед началом работы оговаривать с клиентом технические характеристики хостинга.
Первые и другие заработало - но всё равно: не правильно
В качестве интерпретатора не работает $cookies и $form через POST. В качестве CGI - когда что нибудь находиться в строке запроса (QUERY): Парсер говорит что "CGI: illegal call (1)".
Я сравнил что в $env на Apache с том что на "IdeaWebServer v0.6". Указал несколько переменных. Теперь заработало несмотря на то что нет такой возможности ;)
Работает: form через post и get cookies
Ещё только собраться с необычным mod_rewrite :( и будет хорошо
Ещё подскажите мне: хорошо тот задачю делать на perl или лучше на php или python? Всё у них работает.
Сложно сказать, зависит от того, реализована поддержка perl/php/python в виде модуля или в формате CGI. В виде модуля понятно быстрее будет. Если все в виде CGI - то заметной разницы нет - у perl медленный запуск только в случае необходимости компиляции большого количества исходников, чего у вас нет.
P.S. Удивило - $ENV{'PATH_INFO'} = '/index.html'; $ENV{'PATH_TRANSLATED'} = $ENV{'PATH_INFO'}; У вас index.html находится на диске по пути /? По-идее должно быть $ENV{'PATH_TRANSLATED'} = $ENV{'DOCUMENT_ROOT'}.$ENV{'PATH_INFO'};