Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: настройка модуля yaz
 
 автор: keterina   (18.09.2009 в 15:25)   письмо автору
 
 

помогите настроить модуль yaz для php!!! с чего вообще начинать???

  Ответить  
 
 автор: cheops   (18.09.2009 в 15:30)   письмо автору
 
   для: keterina   (18.09.2009 в 15:25)
 

А это что за модуль и что он делает?

  Ответить  
 
 автор: keterina   (19.09.2009 в 08:24)   письмо автору
 
   для: cheops   (18.09.2009 в 15:30)
 

я только вчера узнала о его существовании. вообще мне надо настроить шлюз, чтоб подключаться к ресурсам других сайтов через сервера протокола Z39.50, а для этого мне надо настроить этот yaz.

  Ответить  
 
 автор: mihdan   (20.09.2009 в 13:09)   письмо автору
 
   для: keterina   (18.09.2009 в 15:25)
 

[поправлено модератором]

  Ответить  
 
 автор: heed   (20.09.2009 в 15:39)   письмо автору
 
   для: mihdan   (20.09.2009 в 13:09)
 

то что предлогается в документации не всегда работаеть в реале, по крайней мере на виндовс точно. Пробовал ставить pear-инсталлер, набирать комманду pecl install yaz
, закачались исходники к версии php4.3.6
и была попытка их скомпилировать вызывая какой-то msdev.exe
, на самом деле если попытаться собрать , то придётся отдельно скачивать этот yaz http://ftp.indexdata.dk/pub/yaz/ (незнаю какой версии предполагается использовать)
, переписывать проект компилирования php_yaz.dll, исправляя зависимость от php4ts_debug.dll
, и на MSVC девятой версии VisualStudio придётся пользоваться только теми исходниками php, которые специально заточены для этой версии компилятора.
Поэтому кроме того что нужно знать на какой OS нужно использовать возможности yaz, нужно знать версии php, компилятора, и многое другое, уже в процессе сборки этого расширения

  Ответить  
 
 автор: cheops   (20.09.2009 в 15:45)   письмо автору
 
   для: heed   (20.09.2009 в 15:39)
 

>и была попытка их скомпилировать вызывая какой-то msdev.exe
Без Visual Studio соответствующей версии, конечно, скомпилировать проект не удастся. msdev.exe - это я так понимаю, компилятор Visual Studio 6 (её исполняемый файл с 1 по 6 как раз такое название носил).

  Ответить  
 
 автор: heed   (20.09.2009 в 16:20)   письмо автору
 
   для: cheops   (20.09.2009 в 15:45)
 

да нет, Visual Studio 9 нормально переделывает имеющийся там .dsp-файл проекта
, но компиляция не получается из-за того что вообще исходники самого php на VS9
(UPD: точнее нужна php5.lib ? или php5ts.lib , php6 пока не трогал :/UPD) , выдают кучу ошибок, некоторые из которых можно исправить простым #define _USE_32BIT_TIME_T 1
, а исходников адаптированных под VS9 пока не качал , там как модулем Apache что-то пока не разберутся , у Apache тоже беда с исходниками под виндовс ,) для VS9 возможно и совсем не переделывали ещё
, а виноват во всём MS :) чего хотят то и творят
и так задушили разработчиков тем что вместо простых byte word dword qword .....
наделали целую кучу типов с такими-же данными
, ещё и компиляторы ругаются начём свет стоит :)

  Ответить  
 
 автор: keterina   (21.09.2009 в 08:28)   письмо автору
 
   для: heed   (20.09.2009 в 16:20)
 

Значит без Visual Studio совсем никак? если так, то мне пипец, я к сожалению с ним еще не работала, как компилировать файлы не знаю :( ...

  Ответить  
 
 автор: heed   (21.09.2009 в 12:17)   письмо автору
 
   для: keterina   (21.09.2009 в 08:28)
 

значит windows)
А какие версии php, windows, yaz ?

  Ответить  
 
 автор: keterina   (21.09.2009 в 13:18)   письмо автору
 
   для: heed   (21.09.2009 в 12:17)
 

винда Хр,
php-5.2.10-Win32,
yaz-1.0.14

  Ответить  
 
 автор: heed   (21.09.2009 в 16:49)   письмо автору
 
   для: keterina   (21.09.2009 в 13:18)
 

немного подумав почему нет такой версии yaz в старых версиях, уже решил попробовать 1.9 :)
но потом случайно заметил что 1.0.14 это версия клиента php_yaz,)

, я спрашивал о yaz там куда по такому протоколу хотите подключаться, и о том какие библиотеки должны устанавливаться в системе, чтобы php-клиент-yaz ими пользовался .

установоив это yaz Вы сможете запустить пример простенького сервера yaz из коммандной строки
C:\C\YAZ\bin>yaz-ztest
это программа зависнет , и начнёт слушать порт 9999

потом из коммандной строки (ещё одного окна cmd.exe) запустите клиента
C:\C\YAZ\bin>yaz-client
Z>
появится приглашение вводить комманды, можно ввести help
, но вообще оно нужно для того чтобы соедениться с сервером, например
Z> open tcp:127.0.0.1:9999
Connecting...OK.
Sent initrequest.
Connection accepted by v3 target.
ID     : 81
Name   : GFS/YAZ
Version: 3.0.48 7abc9bb8bc2dbc218e400aa7fbf635ea825 7a24b
Options: search present delSet triggerResourceCtrl scan sort extendedService
medResultSets
такой запрос и ответ от этого тестового сервера который идёт вместе с yaz
, а то к чему хотите подключиться может выдать совсем другой ответ :)
, я впринципе просто хотел поинтересоваться какая версия сервера, к которому предполагается подключаться

  Ответить  
 
 автор: keterina   (22.09.2009 в 08:35)   письмо автору
 
   для: heed   (21.09.2009 в 16:49)
 

может я задаю глупые вопросы или отвечаю не на то, что спрашиваешь, но для меня скидка, я работаю всего неделю, очень сложно разбираться во всем сама :)

мне, по идее, надо настроить протокол Z39.50 на Apache2.2. соединение с 9999 портом и 210 идет, что делать дальше не знаю ((((((((

  Ответить  
 
 автор: heed   (22.09.2009 в 15:55)   письмо автору
13.3 Кб
 
   для: keterina   (22.09.2009 в 08:35)
 

>настроить протокол Z39.50 на Apache2.2. соединение
апаче это не yaz-сервер ,) это http-сервер
, расширение php php_yaz сделать можно, например вот эта прикреплённая php_yaz.dll должна работать, если у вас там php5ts.dll (threadSafe)? а не просто php5.dll
, и если MSVCR90.dll (которая теперь похоже цепляется этим VisualStudio 9) будет найдена apache'м ,если php как его модуль , или самим php, если он как приложение
, и если будут найдены все dll , а в часности yaz3.dll , из папки bin третьей версии yaz

под словами будет работать имею ввиду что должно появиться в phpinfo()
yaz
YAZ Support enabled
PHP/YAZ Version 1.0.14
YAZ Version 3.0.48
Compiled with YAZ version 3.0.48

, но сервера yaz, который по идее должен работать с базами данных, и поставлять данные по этому самому протоколу , в этом расширении нет. там должны быть функции для клиентских запросов. Но я не проверял :)

//переприкрепил, забыл убрать XP'шный манифест

  Ответить  
 
 автор: keterina   (23.09.2009 в 08:28)   письмо автору
 
   для: heed   (22.09.2009 в 15:55)
 

Большое спасибо тебе за помощь! Но php.exe запрашивает файл MSVCR90.dll, где его можно достать??

  Ответить  
 
 автор: heed   (23.09.2009 в 08:42)   письмо автору
 
   для: keterina   (23.09.2009 в 08:28)
 

прикреплю попозже, если ещё будет нужно, срочно неуспел, а ещё большие файлы с другой симкарты только стараюсь прикреплять :)

  Ответить  
 
 автор: heed   (23.09.2009 в 08:39)   письмо автору
25.4 Кб
 
   для: heed   (22.09.2009 в 15:55)
 

то-же самое , но без зависимости от msvcrt90.dll

Microsoft Visual C++ Toolkit 2003, но не пойму почему размером побольше, то-ли коммандную строку изменил , то-ли msvcrt.lib самодельная :)

C:\PHP\temp\yaz>cl /O2 /Ob1 /I "C:\_PROJECTS\SRC\php5.2-200909031630\Zend" /I "C
:\_PROJECTS\SRC\php5.2-200909031630\main" /I "C:\_PROJECTS\SRC\php5.2-2009090316
30\TSRM" /I "C:\_PROJECTS\SRC\php5.2-200909031630" /I "C:\C\YAZ\include" /D "ZEN
D_DEBUG=0" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "PHP_EXPORTS" /D "COMPILE_DL_
YAZ" /D "ZEND_WIN32" /D "PHP_WIN32" /D "HAVE_YAZ=1" /D "ZTS=1" /D "_WINDLL" /GF
/FD /MD /Gy /Fp".\Release_TS/yaz.pch" /Fo".\Release_TS/" /Fd".\Release_TS/" /W3
/nologo /TC /c php_yaz.c

C:\PHP\temp\yaz>link /OUT:"php_yaz.dll" /LIBPATH:"C:\C\YAZ\lib" /LIBPATH:"C:\_PR
OJECTS\SRC\php5.2-200909031630\build" /LIBPATH:"c:\PHP\dev" /DLL /PDB:".\Releas
e_TS/php_yaz.pdb" /IMPLIB:".\Release_TS/php_yaz.lib" php5ts.lib yaz3.lib msvcrt.
lib libcmt.lib .\Release_TS\php_yaz.obj

  Ответить  
 
 автор: keterina   (23.09.2009 в 09:33)   письмо автору
 
   для: heed   (23.09.2009 в 08:39)
 

установила yaz3.0.48, чтоб php_yaz.dll подошел, теперь соединение с 210 портом не идет. DLL все скопировала, php.exe больше не ругается, но в phpinfo информации о yaz нет ((((

  Ответить  
 
 автор: keterina   (23.09.2009 в 10:04)   письмо автору
 
   для: keterina   (23.09.2009 в 09:33)
 

НАСТРОИЛА!!!!!!!! покопалась немного и настроила!!! спасибо тебе большое за помощь!!!

  Ответить  
 
 автор: keterina   (23.09.2009 в 14:32)   письмо автору
 
   для: heed   (23.09.2009 в 08:39)
 

у меня еще один мааааленький вопрос... почему соединение с 210 портом не идет, пишет error: No such file or director??? вчера нормально все было '(((

  Ответить  
 
 автор: heed   (23.09.2009 в 16:23)   письмо автору
 
   для: keterina   (23.09.2009 в 14:32)
 

я не знаю , если честно.
Вообще удивился когда всётаки решил проверить, и запустил скрипт с первой страницы мануала php про yaz, и оказалось что действительно можно поискать чего пишут про индейцев на сервере американского конгресса ,) переводчик только невоспитанный оказался
z3950.loc.gov:7090 работает вроде, только иногда быстрее ответы , а иногда медленнее
А так возможно что даже и не стоило эту старую версию php-yaz привязывать к новой yaz3.dll ,
мне неизвестно чем могут отличаться новые от старых версий.
Могу только предположить что если консольный клиент подключается, а php-yaz-клиент нет, то возможно это с чем-то связано

  Ответить  
 
 автор: keterina   (24.09.2009 в 08:23)   письмо автору
 
   для: heed   (23.09.2009 в 16:23)
 

может я и дурацкий вопрос задам, (сегодня явно не мой день), но как ты прочитал про индейцев ))))??? где прописывать z3950.loc.gov:7090???

  Ответить  
 
 автор: heed   (24.09.2009 в 09:51)   письмо автору
 
   для: keterina   (24.09.2009 в 08:23)
 

Про индейцев там ничего небыло :(
там какие-то нехорошие слова при поиске по слову indeans :)
Пример 3. Parallel searching using Yaz
<?php
$host
=$_REQUEST[host];
$query=$_REQUEST[query];
$num_hosts count($host);
if (empty(
$query) || count($host) == 0) {
    echo 
'<form method="get">
    <input type="checkbox"
    name="host[]" value="bagel.indexdata.dk/gils" />
        GILS test
    <input type="checkbox"
    name="host[]" value="localhost:9999/Default" />
        local test
    <input type="checkbox" checked="checked"
    name="host[]" value="z3950.loc.gov:7090/voyager" />
        Library of Congress
    <br />
    RPN Query:
    <input type="text" size="30" name="query" />
    <input type="submit" name="action" value="Search" />
    </form>
    '
;        
} else {
    echo 
'You searched for ' htmlspecialchars($query) . '<br />';
    for (
$i 0$i $num_hosts$i++) {
        
$id[] = yaz_connect($host[$i]);
    
yaz_syntax($id[$i], "usmarc");
        
yaz_range($id[$i], 110);
        
yaz_search($id[$i], "rpn"$query);
    }
    
yaz_wait();
    for (
$i 0$i $num_hosts$i++) {
        echo 
'<hr />' $host[$i] . ':';
        
$error yaz_error($id[$i]);
        if (!empty(
$error)) {
            echo 
"Error: $error";
        } else {
            
$hits yaz_hits($id[$i]);
            echo 
"Result Count $hits";
        }
        echo 
'<dl>';
        for (
$p 1$p <= 10$p++) {
            
$rec yaz_record($id[$i], $p"string");
            if (empty(
$rec)) continue;
            echo 
"<dt><b>$p</b></dt><dd>";
            echo 
nl2br($rec);
            echo 
"</dd>";
        }
        echo 
'</dl>';
    }
}
?>
такой пример в старом переведённом мануале к php ref.yaz.html
в новом непереведённом тоже вроде такой но там yaz.examples.html

  Ответить  
 
 автор: keterina   (24.09.2009 в 10:05)   письмо автору
 
   для: heed   (24.09.2009 в 09:51)
 

ошибку при поиске выдает - Error: Connect failed

  Ответить  
 
 автор: keterina   (24.09.2009 в 10:29)   письмо автору
 
   для: heed   (24.09.2009 в 09:51)
 

все, разобралась!
но по 210 так и не идет, тока по 9999 (((
все равно спасибо :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования