Pripojeni k firebirdu pomoci php

Jan Marek jmarek na jcu.cz
Středa Červen 20 14:58:56 CEST 2012


Ahoj,

poohlídl jsem se googlem jinde a našel jsem např. toto:

http://www.creotec.com/php-web-development/?php=function.ibase-connect.php

dále i toto:

http://tech.groups.yahoo.com/group/firebird-php/message/1895

i když tady to dořešeno není.

Když vidím, že se jeden klient připojí a druhý ne, na serverovou
stranu bych to nesváděl, spíše bude problém v klientu. Pokud bys
chtěla zkusit opravdu těžký kalibr, pak bych vyzkoušel volat isql
a isql-fb, ale takto:

strace -f -F -o isql.strace isql localhost:/var/lib/firebird/data/employee.fdb -USER 'SYSDBA' -PASSWORD 'masterkey'

strace -f -F -o isql-fb.strace isql-fb localhost:/var/lib/firebird/data/employee.fdb -USER 'SYSDBA' -PASSWORD 'masterkey'

Pomocí diff-u by bylo zajímavé najít odlišnosti v souborech
isql.strace a isql-fb.strace. Podle toho, co jsem našel na web-u,
by dokonce mohly oba programy používat jinou verzi knihovny k
připojení se k firebirdu, možným řešení by pak bylo tomu
nefunkčnímu podvrhnout knihovnu z toho funkčního a tím by se
teoreticky mohl vyřešit i problém php...

Přinejhorším si bude isql stěžovat na nějaké nefunkční věci
ohledně překladu localhost na IP adresu apod. To by se zase dalo
zjistit, kdybys šla odzadu souboru isql.strace a pozorně
sledovala, co se tam dělo, jaké soubory se snažil program
otvírat, případně jaké funkce volal apod.

Ale je to dost hardcore, alespoň někdy. Někdy je to jasný na
první pohled. :-)

Zdraví
Honza Marek

On Wed, Jun 20, 2012 at 02:12:55PM +0200, katerina bub wrote:
> DD,
> instaluju nový server na VMware, je to CentOS 6.2 64bit. Potřebuju na
> něm rozchodit firebird a php s podporou firebirdu.
> Nainstalovala jsem firebird-superserver x86_64  2.5.1.26351.0 z repozitáře edel
> 
> 
> Řádkovým příkazem se na fb připojím, ale ne pomocí příkazu isql, ale
> pomocí isql-fb.
> # isql-fb localhost:/var/lib/firebird/data/employee.fdb -USER 'SYSDBA'
> -PASSWORD 'masterkey'
> Database:  localhost:/var/lib/firebird/data/employee.fdb, User: SYSDBA
> 
> phpinfo() říká, že mám podporu fb:
> --------
> interbase
> Firebird/InterBase Support dynamic
> Compile-time Client Library Version Firebird API version 25
> Run-time Client Library Version LI-V6.3.1.26351 Firebird 2.5
> PDO
> PDO support	enabled
> PDO drivers 	firebird, mysql, sqlite
> PDO_Firebird
> PDO Driver for Firebird/InterBase	enabled
> ---------
> 
> Ale nedokážu se připojit pomocí php (následující kód opsaný z manuálu
> php nefunguje):
> pokus.php
> --------
> <?php
> $host = 'localhost:/var/lib/firebird/data/employee.fdb';
> 
> $dbh = ibase_connect($host, 'SYSDBA','masterkey')
>     or die('Could not connect: ' .  ibase_errmsg());;
> $stmt = 'SELECT * FROM DEPARTMENT';
> $sth = ibase_query($dbh, $stmt);
> while ($row = ibase_fetch_object($sth)) {
>     echo $row->DEPARTMENT, "\n";
>     }
>     ibase_free_result($sth);
>     ibase_close($dbh);
>     ?>
> ------
> /var/log/http/error_log
> PHP Warning:  ibase_connect(): Unable to complete network request to
> host "localhost". Failed to establish
>  a connection.  in /var/www/html/pokus.php on line 4
> ------
> Google mi dává jenom na manuál k php.
> Ze zoufalství jsem zkusila udělat symlink isql na isql-fb, takže teď
> mi funguje i isql v řádku, ale není to k ničemu.
> 
> 
> Budu vděčná za každý nápad, co je špatně.
> Kateřina Bubeníčková
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux

-- 
Ing. Jan Marek               | Nez mi poslete prilohu .doc, .xls 
University of South Bohemia  | nebo .ppt, prectete si, prosim,
Academic Computer Centre     | WWW stranku uvedenou na poslednim
Phone: +420-38-9032080       | radku signatury...
http://www.gnu.org/philosophy/no-word-attachments.cs.html


Další informace o konferenci Linux