OpenBSD 4.3 con Apache y PHP

Un amigo me comentó que no podia hacer funcionar Apache con PHP en un OpenBSD 4.3, le mencioné todo lo que se me ocurrió que podia ser, pero me decia que no era nada de eso, asi que decidí probar por mi cuenta.
Como ya tengo funcionando un OpenBSD 4.3 como Servidor, pensé que instalando los paquetes de Apache, PHP y las dependencias bastaria, pero no fue asi. Segui todos los pasos normales y logré hacer funcionar Apache, pero no procesaba los archivos PHP, si bien los abria por defecto.
En lugar de bajar los paquetes e instalar desde ahi, probé compilar todo desde el árbol de portes, y obtuve el mismo resultado, no habia caso con el parser PHP.
Por ese entonces estaba en un proyecto grande y con poco tiempo para terminarlo, asi que dejé todo ahi, y le sugerí a mi amigo que compile Apache y PHP desde los sources originales, como lo haciamos antes.
Cuando tuve más tiempo busqué en la Web gente con el mismo problema, y encontré varios, pero sin una solución concreta, de hecho, ninguna me funcionó, asi que me puse a revisar mi sistema y buscar donde estaba la falla.
Primero pensé que las librerias de PHP no se instalaban, o quedaban mal instaladas. Revisé y estaba todo en su lugar. Pensé que talvez solo hacia falta editar el httpd.conf y agregar el AddType de PHP, o el LoadModule, pero estaba todo ahi, y ahora está mucho más organizado todo, es mucho más simple ubicar algo, eso mejoró muchisimo.
Revisando eso encontré la asociación a archivos PHPS, o sea, PHP Sources. Probé renombrar un archivo PHP a PHPS y abrir, para ver el resultado, y aparecio el Source formateado para que se muester bien en HTML. Si eso funcionaba, el resto estaba bien, no parecia lógico que el PHP no funcionara, como si todo estuviera bien, pero no procesara los archivos PHP por algun misterio.
Entonces me puse a leer el PHP.INI completo, y ahi encontré el problema:

; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
; NOTE: Using short tags should be avoided when developing applications or
; libraries that are meant for redistribution, or deployment on PHP
; servers which are not under your control, because short tags may not
; be supported on the target server. For portable, redistributable code,
; be sure not to use short tags.
short_open_tag = Off

Se entiende? Siempre escribi código PHP usando <? y ?>, nunca puse el TAG completo, o sea <?php, ese era todo el problema. Cambiando ese Off a On, se permite el parseo de código dentro de <? y ?>. Edité eso, guarde, reinicié el Apache, probé y funcionó!

Seguramente en versiones siguientes el PHP.INI vendrá igual, asi que habrá que editarlo y cambiar eso, o bien modificar todos nuestros archivos PHP y cambiar el <? por <?php. En mi caso, prefiero editar el PHP.INI.

Espero que les sirva, y sea la solución que andaban buscando.

Esta entrada fue publicada en Curiosidades, Informatica. Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>