Foros del Web » Programando para Internet » PHP »

problema con PDO

Estas en el tema de problema con PDO en el foro de PHP en Foros del Web. Hola amigos del foro espero me puedan ayudar tengo el siguiente error Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08006] [7] could not connect to ...
  #1 (permalink)  
Antiguo 21/03/2012, 14:07
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
problema con PDO

Hola amigos del foro espero me puedan ayudar


tengo el siguiente error

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08006] [7] could not connect to server: Permission denied Is the server running on host "localhost" and accepting TCP/IP connections on port 5432?' in /var/www/html/calendario/models/login_Model.php:4 Stack trace: #0 /var/www/html/calendario/models/login_Model.php(4): PDO->__construct('pgsql:host=loca...', 'postgres', 'hoe798cs') #1 /var/www/html/calendario/controllers/login_Controller.php(6): require('/var/www/html/c...') #2 /var/www/html/calendario/index.php(67): login_users() #3 {main} thrown in /var/www/html/calendario/models/login_Model.php on line 4

estoy trabajando con PHP Version 5.3.3 , postgresql 8.4 y centos 6

que puedo hacer para solucionar este error

en phpinfo(); me aparece de la siguiente manera

PDO
PDO support enabled
PDO drivers mysql, odbc, pgsql, sqlite



pdo_pgsql
PDO Driver for PostgreSQL enabled
PostgreSQL(libpq) Version 8.4.9
Module version 1.0.2
Revision $Id: pdo_pgsql.c 300351 2010-06-10 12:11:19Z iliaa $



que debo de hacer
  #2 (permalink)  
Antiguo 21/03/2012, 19:48
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: problema con PDO

El error es porque no se puede conectar al servidor de base de datos, tal vez porque el nombre es diferente de localhost o está configurado en otro puerto, mientras que PHP lo busca en 5432.

Ahora, PHP tiene habilitado el soporte para PostgreSQL, pero deberías revisar si tu hosting tiene ese servidor de base de datos disponible y activo.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 21/03/2012, 21:05
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: problema con PDO

Gracias por contestar Triby

en mi proyecto tengo un archivo conexion.php
este es el codigo
Código PHP:
Ver original
  1. <?php
  2.     $servidor = 'localhost';
  3.     $bd = 'calendario';
  4.     $usuario = 'postgres';
  5.     $contrasenia = 'hoe798cs';
  6. ?>

en este archivo realizo la consulta
Código PHP:
Ver original
  1. global $servidor, $bd, $usuario, $contrasenia;
  2.  
  3.     $db = new PDO('pgsql:host=' . $servidor . ';dbname=' . $bd, $usuario, $contrasenia);


el archvio tengo pg_hba.conf

# TYPE DATABASE USER CIDR-ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
host all all 0.0.0.0/0 md5


en el archivo postgresql.conf

# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
port = 5432 # (change requires restart)



el servicio esta arriba
[root@Centos ~]# service postgresql restart
Parando el servicio postgresql: [ OK ]
Iniciando servicios postgresql: [ OK ]


Comprobacion de version
postgres=# SELECT VERSION();
version

-------------------------------------------------------------------------------
--------------------------------
PostgreSQL 8.4.9 on i386-redhat-linux-gnu, compiled by GCC gcc (GCC) 4.4.5 201
10214 (Red Hat 4.4.5-6), 32-bit
(1 row)

version de php
[root@Centos data]# php -v
PHP 5.3.3 (cli) (built: Feb 2 2012 23:24:47)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

que tengo mal ?

que mas tengo que configurar
  #4 (permalink)  
Antiguo 21/03/2012, 21:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: problema con PDO

continua saliendo el error

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08006] [7] could not connect to server: Permission denied Is the server running on host "localhost" and accepting TCP/IP connections on port 5432? could not connect to server: Permission denied Is the server running on host "localhost" and accepting TCP/IP connections on port 5432?' in /var/www/html/calendario/models/login_Model.php:4 Stack trace: #0 /var/www/html/calendario/models/login_Model.php(4): PDO->__construct('pgsql:host=loca...', 'postgres', 'hoe798cs') #1 /var/www/html/calendario/controllers/login_Controller.php(6): require('/var/www/html/c...') #2 /var/www/html/calendario/index.php(67): login_users() #3 {main} thrown in /var/www/html/calendario/models/login_Model.php on line 4
  #5 (permalink)  
Antiguo 21/03/2012, 21:55
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: problema con PDO

Holas,

En tu cadena de conexion haz intentado colocar "port=5432" ???

Saludos
__________________
.: Gildus :.
  #6 (permalink)  
Antiguo 22/03/2012, 10:02
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: problema con PDO

gildus gracias por responder

hice lo que me indicas

lo implemente asi conexion.php
Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.  
  5.     $servidor = 'localhost';
  6.  
  7.     $bd = 'prueba';
  8.  
  9.     $usuario = 'postgres';
  10.  
  11.     $contrasenia = 'hoe798cs';
  12.     $port='5432';
  13.  
  14.    
  15.  
  16. ?>

y en el archivo donde realizo la consulta login_Model.php

Código PHP:
Ver original
  1. global $servidor, $bd, $usuario, $contrasenia,$port;
  2.  
  3.     $db = new PDO('pgsql:host=' . $servidor . ';dbname=' . $bd, $usuario, $contrasenia,$port);

me aparece el siguiente error

Warning: PDO::__construct() expects parameter 4 to be array, string given in /var/www/html/calendario/models/login_Model.php on line 4
  #7 (permalink)  
Antiguo 22/03/2012, 10:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: problema con PDO

amigos del foro

viendo otros post y la documentacion de php http://www.php.net/manual/es/pdo.construct.php

intente organizar mi codigo

Código PHP:
Ver original
  1. $db = new PDO("pgsql:host = $servidor port = $port dbname = $bd", $usuario, $contrasenia);

pero necesito un poco de ayuda

esta bien mi codigo?
  #8 (permalink)  
Antiguo 22/03/2012, 12:08
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
De acuerdo Respuesta: problema con PDO

Haz intentado leer en el manual de PHP ? :

http://www.php.net/manual/es/ref.pdo...connection.php

Código PHP:
Ver original
  1. $db = new PDO("pgsql:host=$servidor;port=$port;dbname=$bd;user=$usuario;password=$contrasenia");

Saludos
__________________
.: Gildus :.
  #9 (permalink)  
Antiguo 22/03/2012, 12:20
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: problema con PDO

gildus gracias por responder hice

Código PHP:
Ver original
  1. $db = new PDO("pgsql:host=$servidor;port=$port;dbname=$bd;user=$usuario;password=$contrasenia");

pero me aparece el siguiente error

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08006] [7] could not connect to server: Permission denied Is the server running on host "localhost" and accepting TCP/IP connections on port 5432?' in /var/www/html/calendario/models/login_Model.php:6 Stack trace: #0 /var/www/html/calendario/models/login_Model.php(6): PDO->__construct('pgsql:host=loca...') #1 /var/www/html/calendario/controllers/login_Controller.php(6): require('/var/www/html/c...') #2 /var/www/html/calendario/index.php(67): login_users() #3 {main} thrown in /var/www/html/calendario/models/login_Model.php on line 6

no se que mas hacer
  #10 (permalink)  
Antiguo 22/03/2012, 15:26
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: problema con PDO

este es el tutorial que segui para realizar la instalacion y la configuracion de postgresql

http://www.kelvinwong.ca/2012/02/09/...on-centos-6-2/

Etiquetas: html, mysql, pdo, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:16.