|
|
|
| помогите настроить модуль yaz для php!!! с чего вообще начинать??? | |
|
|
|
|
|
|
|
для: keterina
(18.09.2009 в 15:25)
| | А это что за модуль и что он делает? | |
|
|
|
|
|
|
|
для: cheops
(18.09.2009 в 15:30)
| | я только вчера узнала о его существовании. вообще мне надо настроить шлюз, чтоб подключаться к ресурсам других сайтов через сервера протокола Z39.50, а для этого мне надо настроить этот yaz. | |
|
|
|
|
|
|
|
для: keterina
(18.09.2009 в 15:25)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: 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, компилятора, и многое другое, уже в процессе сборки этого расширения | |
|
|
|
|
|
|
|
для: heed
(20.09.2009 в 15:39)
| | >и была попытка их скомпилировать вызывая какой-то msdev.exe
Без Visual Studio соответствующей версии, конечно, скомпилировать проект не удастся. msdev.exe - это я так понимаю, компилятор Visual Studio 6 (её исполняемый файл с 1 по 6 как раз такое название носил). | |
|
|
|
|
|
|
|
для: 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 .....
наделали целую кучу типов с такими-же данными
, ещё и компиляторы ругаются начём свет стоит :) | |
|
|
|
|
|
|
|
для: heed
(20.09.2009 в 16:20)
| | Значит без Visual Studio совсем никак? если так, то мне пипец, я к сожалению с ним еще не работала, как компилировать файлы не знаю :( ... | |
|
|
|
|
|
|
|
для: keterina
(21.09.2009 в 08:28)
| | значит windows)
А какие версии php, windows, yaz ? | |
|
|
|
|
|
|
|
для: heed
(21.09.2009 в 12:17)
| | винда Хр,
php-5.2.10-Win32,
yaz-1.0.14 | |
|
|
|
|
|
|
|
для: keterina
(21.09.2009 в 13:18)
| | немного подумав почему нет такой версии yaz в старых версиях, уже решил попробовать 1.9 :)
но потом случайно заметил что 1.0.14 это версия клиента php_yaz,)
, я спрашивал о yaz там куда по такому протоколу хотите подключаться, и о том какие библиотеки должны устанавливаться в системе, чтобы php-клиент-yaz ими пользовался .
установоив это yaz Вы сможете запустить пример простенького сервера yaz из коммандной строки это программа зависнет , и начнёт слушать порт 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
, а то к чему хотите подключиться может выдать совсем другой ответ :)
, я впринципе просто хотел поинтересоваться какая версия сервера, к которому предполагается подключаться | |
|
|
|
|
|
|
|
для: heed
(21.09.2009 в 16:49)
| | может я задаю глупые вопросы или отвечаю не на то, что спрашиваешь, но для меня скидка, я работаю всего неделю, очень сложно разбираться во всем сама :)
мне, по идее, надо настроить протокол Z39.50 на Apache2.2. соединение с 9999 портом и 210 идет, что делать дальше не знаю (((((((( | |
|
|
|
|
 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'шный манифест | |
|
|
|
|
|
|
|
для: heed
(22.09.2009 в 15:55)
| | Большое спасибо тебе за помощь! Но php.exe запрашивает файл MSVCR90.dll, где его можно достать?? | |
|
|
|
|
|
|
|
для: keterina
(23.09.2009 в 08:28)
| | прикреплю попозже, если ещё будет нужно, срочно неуспел, а ещё большие файлы с другой симкарты только стараюсь прикреплять :) | |
|
|
|
|
 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 | |
|
|
|
|
|
|
|
для: heed
(23.09.2009 в 08:39)
| | установила yaz3.0.48, чтоб php_yaz.dll подошел, теперь соединение с 210 портом не идет. DLL все скопировала, php.exe больше не ругается, но в phpinfo информации о yaz нет (((( | |
|
|
|
|
|
|
|
для: keterina
(23.09.2009 в 09:33)
| | НАСТРОИЛА!!!!!!!! покопалась немного и настроила!!! спасибо тебе большое за помощь!!! | |
|
|
|
|
|
|
|
для: heed
(23.09.2009 в 08:39)
| | у меня еще один мааааленький вопрос... почему соединение с 210 портом не идет, пишет error: No such file or director??? вчера нормально все было '((( | |
|
|
|
|
|
|
|
для: keterina
(23.09.2009 в 14:32)
| | я не знаю , если честно.
Вообще удивился когда всётаки решил проверить, и запустил скрипт с первой страницы мануала php про yaz, и оказалось что действительно можно поискать чего пишут про индейцев на сервере американского конгресса ,) переводчик только невоспитанный оказался
z3950.loc.gov:7090 работает вроде, только иногда быстрее ответы , а иногда медленнее
А так возможно что даже и не стоило эту старую версию php-yaz привязывать к новой yaz3.dll ,
мне неизвестно чем могут отличаться новые от старых версий.
Могу только предположить что если консольный клиент подключается, а php-yaz-клиент нет, то возможно это с чем-то связано | |
|
|
|
|
|
|
|
для: heed
(23.09.2009 в 16:23)
| | может я и дурацкий вопрос задам, (сегодня явно не мой день), но как ты прочитал про индейцев ))))??? где прописывать z3950.loc.gov:7090??? | |
|
|
|
|
|
|
|
для: 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], 1, 10);
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 | |
|
|
|
|
|
|
|
для: heed
(24.09.2009 в 09:51)
| | ошибку при поиске выдает - Error: Connect failed | |
|
|
|
|
|
|
|
для: heed
(24.09.2009 в 09:51)
| | все, разобралась!
но по 210 так и не идет, тока по 9999 (((
все равно спасибо :) | |
|
|
|