Re: postgres + php + versión

From: Marcos Ortiz <mlortiz(at)uci(dot)cu>
To: Guillermo Villanueva <guillermovil(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: postgres + php + versión
Date: 2012-06-14 14:05:16
Message-ID: 4FD9EF9C.8070409@uci.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Bueno, me uno a Gilberto en decirte que he usado desde hace tiempo
CentOS 5 y 6 desde hace rato con PostgreSQL y no he tenido ningún
problema hasta este instante.

Ahora:
1- Debes usar los repositorios más actualizados de PostgreSQL para
CentOS. Si mal no recuerdo es yum.pgsql.org
2- Para guias muy buenas de CenTOS, Fedora y RHEL, puedes llegarte por
acá: http://www.if-not-true-then-false.com

En este sitio está explicado como tener la última versión de PHP en
CentOS 5 y 6.
Para el manejo de archivos y todos los servicios en CentOS, puedes
buscar el manual de Joel Barrios en http://www.alcancelibre.org, el cual
explica muchos servicios entre ellos Apache 2.

Para que te actualize la última versión del libphp5-pgsql, usa el
repositorio que te di más adelante.

On 06/14/2012 08:42 AM, Guillermo Villanueva wrote:
> Buenos días amigos, veamos si pueden darme una manito.
> Finalmente contraté un VPS de dattatec para levantar una aplicación de
> un cliente y me di con varios inconvenientes que se los comento.
> El sistema operativo que brindan es un centos 5 y yo venía
> acostumbrado al ubuntu server. Me está costando mucho acostumbrarme.
> El apache está configurado para el uso de múltiples dominios. No saben
> lo que me está costando encontrar archivos de configuración!!
> Había un postgres 8.1 instalado, pude instalar la versión 9.1.4 y está
> corriendo sin problemas.
>
> El tema es que si ejecuto un phpinfo() en la parte de postgres muestra:
> *pdo_pgsql*
> PDO Driver for PostgreSQL enabled
> PostgreSQL(libpq) Version 8.1.23
> Module version 1.0.2
> Revision $Id: pdo_pgsql.c 321634 2012-01-01 13:15:04Z felipe $
>
> *pgsql*
> PostgreSQL Support enabled
> PostgreSQL(libpq) Version 8.1.23
> Multibyte character support enabled
> SSL support enabled
> Active Persistent Links 0
> Active Links 0
>
> pgsql.allow_persistent On On
> pgsql.auto_reset_persistent Off Off
> pgsql.ignore_notice Off Off
> pgsql.log_noticeOff Off
> pgsql.max_links Unlimited Unlimited
> pgsql.max_persistent Unlimited Unlimited
>
> No debería mostrarme PostgreSQL(libpq) Version 9xx?. Funcionaban bien
> la mayoría de los accesos desde php a postgres hasta que probé la
> parte de bytea, hay un módulo que muestra una foto que tengo en un
> campo bytea y no está funcionando, no muestra nada, pero cuando corro
> exactamente lo mismo en mi server local , funciona perfectamente.
>
> Otro problema que tengo con respecto al php y postgres es que no está
> registrando los errores de acceso a la base o no los estoy encontrando
> donde debe ser. Si tienen un tiempito les pido entonces:
> 1) Cómo hacer que php utilice las librerías correctas? (o son
> correctas las que está usando para un motor 9.1?)
1- Agrega el repo que te dice en el sitio
http://www.if-not-true-then-false.com para PHP-5.3:

2- Actualiza la libreria:
yum update php5-pgsql
> 2) Qué puede estar pasando que no muestra la foto? (adjunto el código
> php al final del mensaje)
¿Cómo estás enviando la imagen a la base de datos? ¿en bytea?
Esto debes valorarlo porque si almacenarás una gran cantidad de imágenes
en la base de datos, esto puede hacer crecer bastante la base de datos,
y a la hora del mantenimiento de la misma, se hace bastante trabajoso.

Yo trabajé en un sistema parecido con una gran cantidad de imágenes
(pensado para más de 12 millones de imágenes), y lo que hicimos fue usar
un sistema externo para el almacenamiento de las imágenes (usando
VsFTPD, Nginx(como Load balancer y Servidor HTTP), ImageMagick y
Python), y lo que almacenábamos en la base de datos era la dirección
HTTP de la imagen.
> 3) Qué puede estar pasando que no hay log de errores de php al no
> poder acceder a la base? (ahora ya puedo , pero cuando lo estaba
> intentando, en ningún lado había un log de php y/o apache que muestre
> el problema)
Lo que puede estar pasando es que debes estar usando las librerías
viejas de PHP (para 8.1) y lo que tienes es 9.1. Actualiza la versión y
luego prueba de nuevo.

Otra cosita:
¿Por qué no usas un framework o algo por el estilo para PHP?
Symfony 1 o 2
CodeIgniter
Zend Framework, etc

Hay muchas buenas librerías que te permitirían desarrollar esa
aplicación en muy poco tiempo, y te daría más flexibilidad, seguridad,
gestión de roles, escalabilidad, etc.

Esto por supuesto, es a tu consideración.
Saludos
>
> <?php
> //Guillermo Villanueva
> //Mod: 11/06/2012 19:00
> session_start();
> include_once("classconexion.php");
> $conn = Db::getInstance();
> $sql = "SELECT pos_foto FROM postulantes WHERE
> pos_email='$_SESSION[email]'";
> $result = pg_query($conn, $sql);
> if (!$result) {
> echo "Sin foto";
> }
>
> if (pg_num_rows($result)>0){
> header("Content-Type: image/jpeg");
> $imagen = pg_unescape_bytea(pg_fetch_result($result,0,0));
> echo("$imagen");
> } else {
> echo "Sin foto";
> }
> pg_free_result($result);
> ?>
>
> Desde ya muchas gracias por la ayuda que me puedan brindar.
> Saludos.
>
> Guillermo Villanueva
>
>

10mo. ANIVERSARIO DE LA CREACION DE LA UNIVERSIDAD DE LAS CIENCIAS INFORMATICAS...
CONECTADOS AL FUTURO, CONECTADOS A LA REVOLUCION

http://www.uci.cu
http://www.facebook.com/universidad.uci
http://www.flickr.com/photos/universidad_uci

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo Villanueva 2012-06-14 14:16:55 Re: [pgsql-es-ayuda] postgres + php + versión
Previous Message Gilberto Castillo Martínez 2012-06-14 13:18:37 Re: postgres + php + versión