sábado, 5 de junio de 2010

Problema con Libreria php_pgsql en php 5.2.13

Instalando php 5.2 en un servidor (no se podia instalar 5.3 por la "vejez" del código existente), resultó que no cargaba la librería para conectar con PostgreSql. La version instalada en ese momento era la 5.2.13. El error que mostraba era el clasico "unable to load dynamic library". El tamaño de la librería php_pgsql en php 5.2.13 es de aproximadamente 95 KB y esa es la que presenta problemas para cargar. La solución, al menos la que se obtuvo para este caso, fue realizar el downgrade de la libreria a la que aparece en la version de Php 5.2.5, la cual, en tamaño, dobla a su sucesora, con cerca de 135 KB. Se copia esa librería en la carpeta /PHP/ext o su correspondiente para tu sistema y listo. Solo reinicias el servidor web de tu uso y listo.
Revisando php.net para la explicación de esta situación, encontré que la razón se debía a que la libreríaphp_pgsql.dll suministrada desde 2.5.6 en adelante está dinámicamente linkeada con libpq.dll, a diferencia de la 5.2.5 donde estaba estáticamente linkeada y no tenía esa dependencia. Leer más...