PDA

Ver la Versión Completa : Error al conectar con Interbase: "Fatal error..."


oliverinf
11-08-2004, 17:56:03
Error al conectar con Interbase: "Fatal error..."
Hola gente, tengo que conectarme a una base de datos interbase con php. El SO que utilizo es windows 2000

El codigo es análogo al siguiente:
<?php
$path = 'c:\BasesDatos\Bd.gdb';
$usuario = 'SYSDBA';
$password = 'masterkey';
$dbhd = ibase_connect ($path, $usuario, $password);
$sql = 'SELECT * FROM TablaDatos'; $consulta = ibase_query
ibase_close ($dbhd);
?>

y me da este error :

Fatal error : Call to undefined function : ibase_connect() in C:\...

Segui las indicaciones de los archivos de instlación, es decir, instalar las extensiones PHP para interbase. Descomente en el PHP.ini la linea en extension=PHP_Interbase.dll, indique donde esta la dll y nada.

Alguien sabe si falta hacer algo mas???, recompilar algo, ?

Muchas Gracias anticipadas.

Saludos.

JulioGO
22-08-2004, 02:54:05
Intenta con esto:

<?php
//Localhost, es el servidor donde se encuentra tu BD.
$path = 'localhost:c:\BasesDatos\Bd.gdb';
$usuario = 'SYSDBA';
$password = 'masterkey';
$dbhd = ibase_connect ($path, $usuario, $password);
$sql = 'SELECT * FROM TablaDatos';

//Ojo con la linea de aqui
$consulta = ibase_query($dbhd, $sql);

ibase_close ($dbhd);
?>

Sudamericano
18-01-2005, 01:17:02
ERROR :
El error que te muestra se refiere a que la funcion es desconocida

SOLUCION
lo que tienes que hacer es configurar el php.ini

PASO 1 . en el archivo php.ini quita el ";"

";" <- extension_dir = "C:\Archivos de programa\EasyPHP1-7\php\extensions\"

PASO 2 en el archivo php.ini quita el ";"

; <- extension=php_interbase.dll

PASO 3 Copía el archivo php_interbase.dll a la ruta indicada para leer las extensions la ruta es la que indica en el PASO 1



PASO 4 run, listo, corriendo sin problemas



cualquier duda, estoy para servirte,


Percy L.C.

joseelnum13
05-03-2005, 22:08:13
He seguido todos los pasos de configuración de interbase en el fichero php.ini, y
me sigue dando el mismo error, no reconoce las funciones de interbase.
Tengo el apache version 1.3.27, php version 4.2.2 y firebird version 1.0.0. el SO es windows xp home edition.
Llevo dando vueltas a esto por internet ya unas semanas y no consigo dar con la solución. Alguna idea más que me pueda ayudar?. gracias

Mick
06-03-2005, 00:15:42
Esta claro que la extension de interbase no se esta cargando por alguna razon. Para confirmarlo al 100% Crea una pagina .php con el siguiente codigo


<?php
phpinfo();
?>


Accede a la pagina con cualquier navegador y te mostrara todos los parametros de configuracion de php asi como las extensiones que esten activadas. Deberia aparecer una tabla con datos parecidos a estos:


interbase
--------------------------------
Interbase Support enabled
Revision $Revision: 1.91.2.32 $
Dynamic Module yes
Allow Persistent Links Yes
Persistent Links 1/unlimited
Total Links 1/unlimited
Timestamp Format %m/%d/%Y %H:%M:%S
Date Format %m/%d/%Y
Time Format %H:%M:%S


Si no te aparece esto, la extension no se ha cargado. Lo que puede ser debido a un monton de causas, asi que sin mas informacion es muy dificil llegar a alguna conclusion. Algunas ideas:

Asegurate de que existe la dll de la extension: php_interbase.dll, algunos paquetes de apache/php simplemente no traen esa extension compilada, de modo que por mucho que se descomente y active en el php.ini no podra cargarla al no existir el archivo.

Asegurate de que estas modificando el php.ini correcto, en algunos paquetes de apache/php este archivo de configuracion debe estar en el directorio "bin" de apache no en el de php.

Asegurate de que la dll del cliente de interbase: gds32.dll existe en el sistema, copiala si es necesario al directorio bin de apache para asegurarte de que el php la encuentre.

Saludos

joseelnum13
10-03-2005, 15:27:03
:mad: Bueno, voy a intentar explicarme lo máximo posible.
He ejecutado el script de phpinfo() y me dá el mismo resultado que dices a
excepción de 2 lineas:
Persistent links 0/unlimited en lugar de 1/unlimited
Total links 0/unlimited en lugar de 1/unlimited
Creo que esto no es significativo.
- La dll de la extension php_interbase.dll, existe.
- El php.ini modificado lo he grabado en los directorios de php, windows y he probado también hoy en el directorio bin de apache.
- También he grabado el gds32.dll en el directorio bin de apache como sugeriste.
Nada, sigue sin funcionar.
Los cambios que hice en el php.ini fueron:
-register_globals= on
-extension_dir="c:\foxserv\php\extensions\"
-En windows extensions tengo descomentado extension=php_interbase.dll
Esta dll la tengo en la carpeta de extensions de php.
Puede ser que tenga que poner el path de interbase en el php.ini?, no sé, es una ocurrencia mia. Es que ya no sé lo que intentar.
-los programas que uso son:
- el php designer 2005 paga depurar los scripts.
- Apache 1.3.27
- PHP 4.2.2
- Firebird 1.0.0
Muchas gracias de antemano por cualquier ayuda.

gina
03-10-2007, 00:54:11
Hola tengo un problema.......tengo este codigo
<?php
$path = '172.30.4.20:C:\ipcheck server monitor 5\ipcheck.fdb';
$usuario = 'SYSDBA';
$password = 'tran$hare';
$dbhd = ibase_pconnect($path, $usuario, $password);
$sql = 'SELECT * FROM IPCUSER';
$consulta = ibase_query ($dbhd, $sql);
while ($fila = ibase_fetch_object ($consulta))
{
print $fila->NAME . "\n";
}
ibase_commit();
ibase_close ($dbhd);
?>
pero me aparece este error

fatal error: call to undefined function ibase_pconnect() in...........

no se exactamente como es que tengo que configurar lo de las dll, estoy trabajando con firebird y con php les agradesco si me pueden ayudar la verdad es que lo necesito super urgente....gracias! si a alguien ya le funciono despues de aparecerle este error por fa!!! me explicas....
mi msn es glib_20@hotmail.com por si acaso....