I can't install the YAZ extension on php. I'm running php5 (Version 5.6.19) on a local installation of XAMPP on my computer. My OS is windows 7 (64 bit).
I already tried the following:
1) Downloaded the extension from pecl, and placed it in the proper folder setted on php.ini (extension_dir="C:\xampp\php\ext"). I opened the php.ini file and added the extension as the last extension on the list (extension=php_yaz.dll). I restarted apache and still doesnt recognize the functions (Fatal error: Call to undefined function yaz_connect() in C:\xampp\htdocs\testCrop\upload.php on line 112)
2) I tried dowloading the extension from another site(http://www.dlldownloader.com/php_yaz-dll/#Operating-Systems-That-Can-Use-the-Php_yazdll-File). This .dll file is larger than the previous. I repeated the same steps and now an error window pops up that says: the program can't start because php4ts.dll is missing from your computer. Try reinstalling the program to fix this problem
So i downloaded php4ts.dll added it to the the ext folder, then to the php.ini, placed before the yaz extension, and the error that i get on the php_error_log.log is PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'php4ts.dll' in Unknown on line 0 and also PHP Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_yaz.dll' - The specified module could not be found.
3) I also tried adding the extension to system32 and sysWOW64, and followed the instructions in the site that i mentioned eralier, and again didn't work
4)I also tried the steps on the comment on this php manual entry: http://php.net/manual/en/ref.yaz.php. Didn't work
Needless to say that i already restarted XAMPP , apache, mysql and my computer eight times and still keep getting the same errors.
So, to put it in a nutshell php can't find the extension even though i added it to the correct folder. Should i place it in a different folder? Should i download it from another site?
Please i need to write a php5/html5 app to create bibliographic records fetching information using Z39.50 protocol from remote libraries. It needs to be php based. If you know of another way, using php to interact with Z39.50 protocol, please let me know.
Finally i was able to install the extension:
The problem was i had the wrong version of the files.
1)Go to: http://ftp.indexdata.dk/pub/phpyaz/windows/ and search trough the folders until you find the one that matches your php installation.
2)Download all four files: libxml2.dll, libxslt.dll, php_yaz.dll, yaz5.dll
3)Place the following files inside your php folder (\xampp\php): libxml2.dll, libxslt.dll, yaz5.dll
4)Place php_yaz.dll inside your php extensions folder (xampp\php\ext)
5)Add the following line to php.ini (you can find out where is php.ini located calling phpinfo): extension=php_yaz.dll (look for the place where all the other extension are declarated and place it at the bottom as the las one installed)
6)Restart your server
That should work. You can check if it is installed by calling phpinfo and checking if yaz extension appears as a section.
Cheers!