Re: доступ + детали
viyer 02.02.2004 16:55
По поводу доступа к логам я уже обратился к хостеру, они посоветовали запускать из shell, чтобы увидеть ошибки, а я пока слабо представляю как это сделать ((..
По поводу деталей, поясню еще раз, как у меня эпопея происходила. Когда мы решили попробовать перейти на рельсы Parser мы немало порадовались что у нашего хостера есть предустановаленный Parser2 и Parser3.
Сразу скажу, что в локале мы используем в том числе Денвер, поэтому чтобы поскорее пощупать Parser просто качнули пакет расширения Parser3 и без проблем разобрались, что к чему, как поставить обработку html Parser-ом...
По документации хостера сказано: чтобы запустить его на хостинге, цитирую:
AddType parsed-html .html
Action parsed-html /cgi-bin/parser3
<Files ~ "\.(p|cfg)$">
Order allow,deny
Deny from all
</Files>
Предустановленный Парсер запустился! Результат работы такого подхода Вы можете видеть здесь:
http://www.exprompt.ru/test_2.html(поглядите обязательно, там много чего не хватает)
Естественно, возник вопрос по поводу кодировок, БД и $CLASS_PATH ...
Сразу же обратились к хостеру примерно с таким вопросом: "А как нам использовать свой конфигурационный auto.p?" Ответ: "Конфиг. auto.p на нашем хостинге не переопределить и не изменить под ваши нужды"...
На всякий случай затребовал у них ихний ауто.п, выглядел вот что:
@conf[filespec]
#$confdir[^file:dirname[$filespec]]
$confdir[/home/httpd/parser3]
$charsetsdir[$confdir/charsets]
$sqldriversdir[$confdir/lib]
$CHARSETS[
$.koi8-r[$charsetsdir/koi8-r.cfg]
# $.windows-1250[$charsetsdir/windows-1250.cfg]
$.windows-1251[$charsetsdir/windows-1251.cfg]
# $.windows-1257[$charsetsdir/windows-1257.cfg]
]
#change your client libraries paths to
those on your system
$SQL[
$.drivers[^table::set{protocol driver client
mysql $sqldriversdir/libparser3mysql.so libmysqlclient.so
}]]
т.е. и чарсеты и база у них прописаны, но почему то не работают. Добавлю еще, что строка подключения у них закомментирована, все остальное вроде типовое.
Сразу же возникло подозрение, что имхо мы первые клиенты на их хостинге, кто использует парсер, что он неправильно сконфигурирован и т.д. и т.п.
Ну естесственно письмо в суппорт с изложением всех этих проблем. Обещали разобратся, но пока результатов нет (два дня + выходные), хотя в онлайне связь поддерживаем, говорят разбираемся.
Ну мы без дела тоже не сидим, т.к. у нас вопрос уже превращается в принципиальный -- мы за это время уже пол-сайта на парсере сделали в локале с системой поддержки, надо ставить вопрос о целесообразности дальнейшей работы. Решили залить свой парсер в cgi-bin и поглядеть, что получится.
Сказано-сделано: скачали parser3_1_1_redhat73_cgi_xml.tar.gz и parser3sql_1_0_redhat73_mysql.tar.gz, залили все это на хостинг в папку public_html/cgi-bin ... драйвер в cgi-bin/lib, чарсеты в cgi-bin/charsets, auto.p в cgi-bin. Поставили права на скрипт 700, изменили .htaccess:
AddType parsed-html .html
Action parsed-html /cgi-bin/parser3.cgi
<Files ~ "\.(p|cfg)$">
Order allow,deny
Deny from all
</Files>
Результат тот же. Добавили строку
SetEnv CGI_PARSER_CONFIG /home/e/exprmru/public_html/cgi-bin/auto.p
Заработало! Ура!.. Наш конфиг заработал.. Сразу увидели свои $CLASSES_PATH ...
НО сразу же возникло подозрение, что работает на наш скрипт, т.к. там упоминается версия 3.0.8 а мы то заливали 3.1.1
Поглядите сами:
http://www.exprompt.ru/test.html (это все копии у нас.. Сейчас парсер отключен на хостинге).
Прописали драйвер и клиент для БД (клиента подобрали почти опытным путем) нашлись, все окей.
Как только прописали $SQL.connect-string -- все... Ошибка 500. Перескрестились, проверили строку подключения (у хостера тоже спросили - правильно) -- все равно 500. Пробовали подключится к БД через шелл -- база работает. Ошибка здесь:
http://www.exprompt.ru/500.htmlОтключаем строку -- опять все нормально.
Есть версия, что может клиент БД хостера не работает с парсером, но тогда у нас проблема, откуда взять свой.
Вот пока в этом тупике нахожусь. Принципиально у меня два вопроса:
1. Чем обьяснить, что не работает мой скрипт? (закачан в бинаре, права 700, но
http://www.exprompt.ru/cgi-bin/parser3.cgi не работает). Возможно ли что у хостера стоят какие то настройки в апаче, что делает приоритетным их парсер?
2.Каков алгоритм дальнейших действий?
Сразу отмечу, что мы перелопатили и FAQ и раздел "Хостеры" на этом сайте, и сайт Егорова, и доки хостера, десять раз проверили .hracces, прошли весь путь от начала до конца, пока ничего нет... грабли одни и те же.
Если еще какие детали нужны - с удовольствием отвечу.