Fatal error: Call to undefined function pg_connect() in ...
El proceso debería ser bastante sencillo, pero la presencia de un bug en la versión 2.X de WAMP Server lo complica un poco (aunque os daremos la solución más adelante).
Partimos del supuesto de un servidor WAMP ya instalado, si no sabéis cómo hacerlo tenéis un tutorial aquí: http://alcasoft.blogspot.com.es/2011/12/instalacion-de-un-servidor-local-wamp.HTML
Una vez instalado, la activación de los módulos de Apache y extensiones de PHP es relativamente sencilla: hacemos clic en el icono de WAMP en la barra de tareas > PHP > Extensiones de PHP y activamos las siguientes:
- php_pdo_pgsql
- php_pgsql
Al reiniciar los servicios de WAMP debería funcionar, pero si tratamos de hacer uso de la función sigue apareciendo el error:
Si verificáis las extensiones habilitadas (con la función phpinfo() dentro de una página PHP), podréis comprobar que pgsql no se encuentra activo pese a haberlo activado en el interfaz gráfico de WAMP.
Esto se debe a un bug en WAMP. PostgreSQL hace uso de la librería libpq.dll encargada de ejecutar consultas SQL en Postgre. Esta librería debería estar en la carpeta bin de la instalación de Apache, pero se encuentra en la carpeta de PHP.
La solución es sencilla: copiar esa librería a la carpeta correcta:
- Origen: C:\wamp\bin\php\php5.3.10
- Destino: C:\wamp\bin\apache\Apache2.2.21\bin
Reiniciamos los servicios de WAMP y comprobamos de nuevo con phpinfo():
Ya aparece la extensión activa y podremos hacer uso de las funciones de PHP para PostgreSQL desde nuestro código.
Hermano excelente respuesta.
ResponderEliminarExcelente aporte amigo, ya tenia tiempo con este problema, muchas gracias exitos (y)
ResponderEliminarMuchas gracias por el aporte, tenia horas buscando la solucion
ResponderEliminarQue Dios te bendiga amigo... Me haz dado la solucion a un problema que llevaba tiempo sin resolver
ResponderEliminarPadre muchisisisismas gracias eternamente agradecido
ResponderEliminarExcelente, muchas gracias...! DTB
ResponderEliminarme salvaste
ResponderEliminarMuchas gracias por tu aporte
ResponderEliminarGenial..en ningun lado encontraba la solucion! Muchas gracias
ResponderEliminarBuena men!!
ResponderEliminarEXCELENTE... GRACIAS
ResponderEliminarSolucionado!!! excelente! muchisimas gracias!
ResponderEliminar