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”
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.
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.
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:
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?
En el Administrador de servicios Internet (ISM), clic derecho sobre el sitio Web , opción Propiedades
clic en la ficha de documentos.
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.
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.
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.
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.
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,
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…
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.
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.