Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Работа и отдых в Интернете" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Октябрь 2010 → | ||||||
1
|
2
|
3
|
||||
---|---|---|---|---|---|---|
4
|
7
|
8
|
9
|
10
|
||
12
|
13
|
14
|
15
|
17
|
||
18
|
19
|
20
|
21
|
22
|
23
|
|
25
|
26
|
28
|
29
|
31
|
Автор
Статистика
263 подписчиков
-1 за неделю
-1 за неделю
Журнал Начинающего Программиста 21, 2010-10-05 04:38
Здравствуйте, Помните что:Правильно заданный вопрос значительно ускорит и упростит решение проблемы.
Parser3 доступен в нескольких вариантах:
Дополнительно можно установить драйверы для различных SQL-серверов (сейчас доступны для MySQL, PgSQL, Oracle, ODBC). Описание каталогов и файлов : parser3[.exe] - CGI скрипт (и интерпретатор) ApacheModuleParser3.dll - модуль к веб-серверу Apache 1.3 parser3isapi.dll - ISAPI расширение веб-сервера IIS 4.0 или новее auto.p.dist - пример Конфигурационного файла parser3.charsets/ - каталог с файлами таблиц кодировок
Поскольку исходные коды являются открытыми, вы можете сами собрать Parser (см. Сборка Parser из исходных кодов) и написать свой SQL-драйвер. Доступны скомпилированные версии Parser и его SQL-драйверов под ряд платформ (см. http://parser.ru/download/). Внимание: в целях безопасности они скомпилированы так, что могут читать и исполнять только файлы, принадлежащие группе пользователей, от которой работает Parser. Как подключаются конфигурационные файлы? Для CGI скрипта (parser3[.exe]): Конфигурационный файл считывается из файла, заданного переменной окружения CGI_PARSER_CONFIG, Если переменная не задана, ищется в том же каталоге, где расположен сам CGI скрипт. Для модуля к Apache путь к конфигурационному файлу задается директивой: #can be in .htaccess ParserConfig полный_путь Для ISAPI расширения (parser3isapi.dll) конфигурационный файл auto.p ищется в том же каталоге, где расположен сам файл.
Пример файла включен в поставку (см. auto.p.dist). Этот файл - основной, с которого начинается сборка класса MAIN. Может содержать Конфигурационный метод, который выполняется первым, до метода auto, и задает важные системные параметры. После выполнения конфигурационного метода можно задать кодировку ответа и кодировку, в которой набран код (по умолчанию в обоих случаях используется кодировка UTF-8): Рекомендуемый код: @auto[] #source/client charsets $request:charset[windows-1251] $response:charset[windows-1251] $response:content-type[ $.value[text/html] $.charset[$response:charset] ] Примечание: Для корректной работы методов upper и lower класса string с национальными языками (в том числе русским) необходимо задание $request:charset. Также здесь рекомендуется определить путь к классам вашего сайта: $CLASS_PATH[/../classes] И строку соединения с SQL-сервером, используемым на вашем сайте: $SQL.connect-string[odbc://DSN=www_mydomain_ru^;UID=user^;PWD=password] Советуем поместить сюда же определение метода unhandled_exception, который будет выводить сообщение о возможных ошибках в дизайне вашего сайта. Внимание: конечно, Конфигурационный файл можно не использовать, а Конфигурационный метод поместить в файл auto.p в корне веб-пространства, однако в разных местах размещения сервера (например: отладочная версия и основной сервер) конфигурации скорее всего будут различными, и очень удобно, когда эти различия находятся в отдельном файле и вне веб-пространства.
Если в файле определен метод conf,он выполняется первым, до auto, и задает важные системные параметры:
Определение метода: @conf[filespec] filespec - полное имя файла, содержащего метод. Всегда доступна и не нуждается в загрузке файла кодировка UTF-8, являющаяся для Parser кодировкой по умолчанию. Чтобы сделать доступными для использования Parser другие кодировки, необходимо указать файлы их описывающие, делается это так: $CHARSETS[ $.windows-1251[/полный/путь/к/windows-1251.cfg] … ] См. Описание формата файла, описывающего кодировку. Максимальный размер POST данных: $LIMITS[ $.post_max_size(10*0x400*0x400) ] Параметр отправки писем (см. ^mail:send[…])… …под Windows адрес SMTP-сервера $MAIL[ $.SMTP[mail.office.design.ru] ] …под UNIX программа отправки письма $MAIL[ $.sendmail[/custom/mail/sending/program params] ] По умолчанию используется эта… /usr/sbin/sendmail -t -i -f postmaster …или эта… /usr/lib/sendmail -t -i -f postmaster …команда, в зависимости от вашей системы. При отправке письма вместо «postmaster» будет подставлен адрес отправителя из письма из обязательного поля заголовка «from». Также можно задать таблицу SQL-драйверов: $SQL[ $.drivers[^table::set{protocol driver client mysql /full/disk/path/parser3mysql.dll /full/disk/path/libmySQL.dll odbc /full/disk/path/parser3odbc.dll pgsql /full/disk/path/parser3pgsql.dll /full/disk/path/libpq.dll oracle /path/to/parser3oracle.dll C:\Oracle\Ora81\BIN\oci.dll?PATH+=^;C:\Oracle\Ora81\bin }] ] В колонке client таблицы drivers допустимы параметры клиентской библиотеке, отделяемые знаком ? от имени файла библиотеки, в таком виде: имя1=значение1&имя2=значение2&… а также имя+=значение. Эти переменные будут занесены(=) или добавлены к имеющемуся значению(+=) в программное окружение (environment) перед инициализацией библиотеки. В частности, удобно добавить путь к Oracle библиотекам здесь, если этого не было сделано в системном программном окружении (system environment). Таблица типов файлов: #файл, создаваемый ^file::load[…], #при выдаче в $response:body задаст этот $response:content-type $MIME-TYPES[^table::set{ext mime-type zip application/zip doc application/msword xls application/vnd.ms-excel pdf application/pdf ppt application/powerpoint rtf application/rtf gif image/gif jpg image/jpeg jpeg image/jpeg png image/png tif image/tiff html text/html htm text/html txt text/plain mts application/metastream mid audio/midi midi audio/midi mp3 audio/mpeg ram audio/x-pn-realaudio rpm audio/x-pn-realaudio-plugin ra audio/x-realaudio wav audio/x-wav au audio/basic mpg video/mpeg avi video/x-msvideo mov video/quicktime swf application/x-shockwave-flash }] Расширения имен файлов в таблице должны быть написаны в нижнем регистре. Поиск по таблице нечувствителен к регистру, т.е. файл FACE.GIF получит mime-тип image/gif.
Parser3 самостоятельно выполняет необходимые перекодирования, так что для русской версии Apache добавьте в основной конфигурационный файл веб-сервера (обычно httpd.conf) строку: CharsetDisable On запрещающую использование возможностей перекодирования Русского Apache для вашего сервера. Если возможности изменить основной конфигурационный файл веб-сервера у вас нет, добавьте эту строку в .htaccess файл. Поместите файл с исполняемым кодом Parser (в текущей версии, parser3) в каталог для CGI-скриптов. Добавьте в файл .htaccess вашего сайта (или в httpd.conf в секцию <virtualhost …> вашего сайта, или вне ее - для всех сайтов) блоки: # назначение обработчиком .html страниц AddHandler parser3-handler html Action parser3-handler /cgi-bin/parser3 # запрет на доступ к .p файлам. основной: auto.p <Files ~ "\.p$"> Order allow,deny Deny from all </Files> Если вас не устраивает расположение конфигурационного файла по умолчанию (см. Установка и настройка Parser3), вы можете задать его вручную (для чего необходим модуль mod_env, который по умолчанию установлен): # задание переменной окружения с путем к auto.p SetEnv CGI_PARSER_CONFIG /path/to/auto.p
Parser3 самостоятельно выполняет необходимые перекодирования, так что для русской версии Apache добавьте в файл httpd.conf строку: CharsetDisable On запрещающую использование возможностей перекодирования Русского Apache для вашего сервера. Если возможности изменить основной конфигурационный файл веб-сервера у вас нет, добавьте эту строку в .htaccess файл. Под UNIX: Необходимо собрать Parser из исходных кодов, задав ключ --with-apache13 у скрипта configure, при make на экране появится инструкция по дальнейшей сборке Apache из его исходных кодов. Внимание: на некоторых системах стандартный make не работает с make-файлами Parser3, воспользуйтесь GNU вариантом: gmake. Под Windows: Поместите файлы с исполняемым кодом модуля Parser (в текущей версии, ApacheModuleParser3.dll) в произвольный каталог. Добавьте в файл httpd.conf после имеющихся строк LoadModule: # динамическая загрузка модуля LoadModule parser3_module x:\path\to\ApacheModuleParser3Debug.dll Внимание: если необходимо, поместите сопутствующие .dll файл в тот же каталог. А после имеющихся строк AddModule (если не имеются, не добавляйте): # добавление модуля к списку активных модулей AddModule mod_parser3.C Добавьте в файл .htaccess вашего сайта (или в httpd.conf в секцию <virtualhost …> вашего сайта, или вне ее - для всех сайтов) блоки: # назначение обработчиком .html страниц AddHandler parsed-html html # задание Конфигурационного файла ParserConfig x:\path\to\parser3\config\auto.p # запрет на доступ к .p файлам. основной: auto.p <Files ~ "\.p$"> Order allow,deny Deny from all </Files>
1. Запустите Management Console, нажмите на правую кнопку мыши на названии вашего веб-сервера и выберите Properties. 2. Перейдите на вкладку Home directory и в разделе Application settings нажмите на кнопку Configuration… 3. В появившемся окне нажмите на кнопку Add. 4. В поле Executable введите полный путь к файлу parser3.exe или parser3isapi.dll. 5. В поле Extension введите строку .html. 6. Включите опцию Check that file exists. 7. Нажмите на кнопку OK.
Данные в формате tab-delimited со следующими столбцами: char - символ, или его код, заданный в десятичной или шестнадцатеричной форме (0xHH) в той кодировке, которую определяет этот файл. white-space, digit, hex-digit, letter, word - набор флажков, задающих класс этого символа. Пустое содержимое означает непринадлежность символа к этому классу, непустое [например, 'x'] - принадлежность. Подробнее о символьных классах см. описание регулярных выражений в литературе. lowercase - если символ имеет пару в нижнем регистре, то символ или код парного символа. Скажем, у буквы 'W' есть парная 'w'. Используется в регулярных выражениях для "case insensitive" поиска, а также в методах lower и upper класса string. unicode1 - основной Unicode код символа. Если совпадает с кодом символа, то можно не указывать. Скажем, у буквы 'W' он совпадает, а у буквы 'Я' - нет. unicode2 - дополнительный Unicode символа, если имеется.
/путь/к/parser3 файл_со_скриптом x:\путь\к\parser3 файл_со_скриптом Выполнять скрипты можно и без веб-сервера, достаточно запустить интерпретатор Parser, передав ему в командной строке параметр - имя скрипта. При этом корнем веб-пространства считается текущий каталог. При этом ошибки попадут в стандартный поток ошибок, который можно перенаправить в желаемый файл так: команда 2>>error_log Не забывайте его время от времени очищать. На UNIX можно также использовать стандартный подход с заданием команды запуска интерпретатора в первой строке скрипта: #!/путь/к/parser3 #ваш код Проверка: ^eval(2*2) Не забудьте зажечь биты атрибута, разрешающие исполнение владельцу и группе. Команда: chmod ug+x файл
Загрузите из CVS исходные коды Parser3 и необходимых дополнительных модулей. Для этого выполните следующую команду: cvs -d :pserver:anonymous@cvs.parser.ru:/parser3project login Пароль пустой. cvs -d :pserver:anonymous@cvs.parser.ru:/parser3project get -r имя_ветки имя_модуля Имя_ветки - если не указывать -r, вы получите текущую разрабатываемую версию. Для получения стабильной версии, забирайте ветку «release_3_0_XXXX». Имя модуля: Имя основного модуля: parser3. Модуль с SQL драйверами: sql. Сейчас в нем доступны каталоги: sql/mysql sql/pgsql sql/oracle sql/odbc Для компиляции под Win32… …необходим каталог: win32/tools …SQL драйверов необходимы каталоги: win32/sql/mysql win32/sql/pgsql win32/sql/oracle …варианта Parser, работающего с XML, необходим модуль: win32xml и в файле parser3/src/pa_config_fixed.h необходима директива #define XML …варианта Parser, принимающего письма по электронной почте, необходим модуль win32mailreceive и в файле parser3/src/pa_config_fixed.h необходима директива #define WITH_MAILRECEIVE …варианта Parser в виде модуля Apache 1.3 необходим каталог win32/apache13. Пользователи Unix/Cygwin, инструкции по компиляции и установке читайте в файлах INSTALL каждого модуля. Для компиляции под Win32 используйте Microsoft Visual Studio (6.0 или новее), используйте файлы .dsw каждого модуля. Распаковывайте все модули в каталог parser3project, находящийся в корне (важно!) диска.
Ваши комментарии к рассылке. Архив рассылкиОбщение/вопросы/и т.д. |
В избранное | ||