php - español - ''PDOException'' de PostgreSql con mensaje ''no se pudo encontrar el controlador''
postgresql descargar español (8)
pdo funciona bien con mysql pero con pgsql su error de ''PDOException'' with message ''could not find driver''
. He instalado el paquete php5-pgsql
que también incluye pdo_pgsql
http://packages.debian.org/sid/php5-pgsql
Este paquete proporciona un módulo para las conexiones de base de datos PostgreSQL directamente desde scripts PHP. También incluye el módulo pdo_pgsql para usar con la extensión de objeto de datos de PHP.
mi dsn es pgsql:dbname=DB;host=192.168.0.2
Estoy usando Ubuntu 10.04
1) ¿Ha habilitado pgsql.so en php.ini
( extension=pgsql.so
)?
2) ¿Está escuchando Postgresql en la interfaz 192.168.0.2
? (Puedes comprobarlo mediante netstat -tpln
)
3) ¿Cómo autenticas tu acceso en Postgresql?
Asegúrate de no haber comentado la línea que le dice a php dónde está el controlador de Postgres (generalmente extension=pgsql.so
) en el archivo principal php.ini
.
Cuando no tiene instalado postgresql en la misma máquina que es Apache y PHP; tiene que instalar php-pgsql
y no tiene que agregar extensiones en php.ini
manualmente en Linux ( .com/a/53661888/5279996 ), porque se generan redundancias y esto no funciona (se verifica en error.log
).
$ sudo apt install php-pgsql
Luego puedes verificar la existencia de la extensión habilitada automáticamente en:
$ sudo nano /etc/php/7.0/apache2/conf.d/10-pdo.ini
Observaciones : En phpinfo()
encontrará el directorio conf.d/
y el archivo error.log
GL
Esta solución funciona para mí: Sólo
[sudo] apt-get install php-pgsql
después, pdo-pgsql
extensiones pgsql
y pdo-pgsql
en php.ini
Finalmente :
[sudo] /etc/init.d/apache2 restart
Si usas apache como fue mi caso ...
Esto es lo que hice para resolver el problema.
Editar
php.ini
y eliminar;
desdeextension=pdo_pgsql
. Además, agregueextension=pgsql.so
al archivophp.ini
.Asegúrese de reiniciar el servidor Apache antes de intentar ver el resultado.
Tuve el mismo problema. En primer lugar, verifique si está habilitado en php.ini. Descomprimir la extension=php_pdo_pgsql...
que configurar el directorio de extensiones !!
extension_dir = "ext" ; for your case it could be other dir.
y no olvide reiniciar el servidor después de cambiar la configuración.
Copie libpq.dll desde el directorio de PHP a Apache24 / bin (o donde sea que esté su instalación).