SOLUCIONADO Problema en configuracion de sistema de Preinscripcion Guarani

Estoy instalando el sistema sobre windows 2003 server utilizando IIS con php 5.2.8 y postgres

Configure el sitio en el IIS y dentro del sitio copie todas las carpetas, incluidas las carpetas www y tpl_compiled (le di permiso para escritura).

Instale el postgres e importe la base de datos que me enviaron de la universidad con todas sus previas configuraciones.

Pero cuando quiero acceder al sitio me da el siguiente error:

PHP Warning: PHP Startup: Unable to load dynamic library ‘C:\PHP\ext\php_pgsql.dll’ - No se puede encontrar el módulo especificado. in Unknown on line 0

En el archivo php.ini esta la linea que define donde estan las extensiones
extension_dir=“C:\PHP\ext”

Y ahi estan las dll por ejemplo php_pgsql.dll

Alguna ayuda por favor?

Hola

En otra parte del php.ini tendras cosas como

[PHP_PARSEKIT]
;extension=php_parsekit.dll

o bien solo la ultima linea.
en el caso que tenga el ; al principio significa que está comentada y no se cargará.
borrale el ; a las librerias que se necesitan.

Emilio

Solucione el problema que no levantaba la dll

Le quite la referencia al archivo php_pgsql.dll y lo copie directamente en la carpeta windows, reinicie el iis, y al parecer tomo la dll.

Pero ahora tengo otro problema.

Configure en el IIS primero el sitio sobre la carpeta principal donde estan los directorios www, adodb, tpl, etc etc, y configure ademas dos directorios virtuales llamados (leyendo el manual que dice como se hace para apache, habria que actualizarlo para IIS tambien… )

preinscripcion (con el documento default index.php)
preinsgerencial (con el documento default pre_gerencial.php)

Pero no estan encontrando bien los path de los archivos

Les paso los links a las versiones online para que lo vean a ver si se entiende el problema.

http://www.presincripcion.unm.edu.ar/preinscripcion

http://www.presincripcion.unm.edu.ar/preinsgerencial/

a pesar que tira error, la direccion de las paginas como pre_header.php que no encuentra son correctas.
Espero que me puedan ayudar.

Hola Pablo, una cosa sobre las extensiones: probablemente el IIS no sepa de donde leer el archivo php.ini. En Apache se especifica en el archivo de configuración del mismo con una directiva que indica la ruta en donde se encuentra el archivo. Es en este archivo (php.ini) en donde se especifica el directorio en donde se encuentran las extensiones. Si el servidor web no encuentra un archivo php.ini, lo mas probable es que busque en el directorio windows, por eso es que al copiar las dll allí dejaste de tener esos inconvenientes.
Podés revisar estas entradas en el registro:

HKEY_LOCAL_MACHINE\SOFTWARE\PHP\5\IniFilePath

HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath

y especificar el directorio en donde tienen el archivo php.ini con las directivas adecuadas.
Además vean de agregar el directorio de instalación de php al path del sistema.

Con respecto al error de IIS, podés revisar que esto esté bien?

  1. En el Administrador de servicios Internet (ISM), clic derecho sobre el sitio Web , opción Propiedades
  2. clic en la ficha de documentos.
  3. Comprobar que pre_index.php y pre_gerencial.php están en la lista de documentos predeterminados, y que está seleccionada la casilla de verificación Habilitar documento predeterminado.

Saludos

Hola

No es tan bruto el iis.
Si el php se está ejecutando como modulo isapi (el archivo dll) lee el php.ini del directorio de windows.
Si se está ejecutando el cgi (php-cgi.exe o php.exe) se lee desde el directorio en el cual está instalado el php.

Emilio

El problema de las dll ya esta solucionado.
Y la definicion de los documentos default esta hecha en cada carpeta virtual.
El problema que tengo es que los dos sistemas no funcionan porque no muestran puntualmente las paginas, posiblemente hagan algun redirect o busquen algun archivo en un path que esta mal configurado.
Por eso cuando entro a las siguientes urls tira error.

http://www.presincripcion.unm.edu.ar/preinscripcion/
http://www.presincripcion.unm.edu.ar/preinsgerencial/

En las dos paginas muestra una pantalla que llama a dos frames (por ejemplo en preinsgerencial),
http://www.presincripcion.unm.edu.ar/preinsgerencial/pre_header.php
http://www.presincripcion.unm.edu.ar/preinsgerencial/pre_login.php

Esas dos paginas estan en la carpeta virtual “preinsgerencial” pero no entiendo porque no las muestra.
Les adjunto imagenes de la configuracion del sitio y las carpetas virtuales, a ver si identifican la razon por la que no funciona.


Incluso agregue un archivo en el directorio www que muestra la info del php para probar si anda el php

http://www.presincripcion.unm.edu.ar/preinsgerencial/info.php
http://www.presincripcion.unm.edu.ar/preinscripcion/info.php

Hola Pablo

No tenes habilitadas las librerias de postgres en php.
Modifica el php.ini para que las tome.
en el info.php te tiene que aparecer una seccion pgsql asi como te aparecen mysql, odbd, etc.

Emilio

Emilio , Le agregue esa linea en el archivo php.ini

Te lo adjunto para que lo veas.

Probaste entrar a los links que te envie? pudiste ver las imagenes de los directorios como esta configurados? a ver si no esta ahi el error?


no te las está tomando. Fijate en el info.
probá reiniciar el servicio.
estás grabando el php.ini en windows? o en el directorio de php?

Emilio

Emilio,
copie el archivo ini en el directorio windows y en la carpeta php y reinicie el servidor.
El mensaje en el cual la pagina no se encuenta, es porque falta esta dll ? el error de la dll lo mostraba al principio hasta que copie la dll en el directorio windows, despues no lo tiro mas…

Pablo

fijate en la imagen adjunta.
estoy entrando directamente, no por el alias.
Me sale que no encuentra php_pgsql.
por otro lado, el header no lo muestra con lo cual podés tener algun problema de permisos sobre los otros directorios del sitio.

En general lo que hago, es crear un directorio en cualquier parte del disco menos en el raiz del sitio web. Luego creo un directorio virtual sobre apuntando a ese directorio.
Puede que tengas problemas por ese lado.


Pablo,
Pregunto por las dudas… configuraron la aplicación con el archivo parametros.inc.php ?

Para hacer esto se debe renombrar el archivo \includes\parametros.inc.php.tmpl por \includes\parametros.inc.php y se completa con la información correspondiente, según el manual de instalación. Creo que ese es el problema que están teniendo.

Saludos
Sergio

El problema esta solucionado, el problema estaba en que no habia renombrado el archivo de parametros.inc.php a esa extension.
Y para que levante bien la libreria del postgres en el iis, tuve que instalar la dll que adjunto. Otras no funcionaron. Le cambio la extension a txt para que se pueda adjuntar en el foro.

Gracias a todos.