En mi búsqueda de hacer funcionar dicha aplicación me tope con algunas variables en los archivos de configuración en el php y en el apache que quiero compartir por aca:
Primer truco
Uno muy interesante es poder anular los warning en php.
Usando la variable siguente en el php.init:
error_reporting = E_ALL & ~E_NOTICE
Esto le dice al Php que muestre los errores, pero no los warning o Notice como se les conoce. Entonces imaginemos que en el php creamos un array o tratamos de acceder alguna variable global y después simplemente tratamos de acceder sus datos con un índice que no existe.
Ejemplo:
echo $_REQUEST["email"];
Si esta variable no se encuentra configurada en el php.init, el warning es mostrado.
Sin embargo puede presentar problemas intensos de hackeo. Yo no recomendara utilizarlos.
Segundo Truco
Otro truco que si me parece mas util de usar es el: auto_prepend_file y auto_append_file. Estos son archivos que se cargan al inicio de cualquier script y despues de cualquier otros script en su orden respectivamente.
Un ejemplo seria algo asi como:
auto_prepend_file = /home/sites/koza/phpdefines.php
Esta variable auto carga o auto ejecuta este script antes de cualquier ejecusion. Es equivalente a:
inlcude('/home/sites/koza/phpdefines.php');
En el incio de cualquier script.
Tercer Truco
Ejecutar los script en php en archivos con extensión html. Al inicio pensé que esto seria de lo mas trivial del mundo. Honestamente confieso que me tomo más tiempo del que pensé. Realmente es trivial, pero encontrar el lugar para poner la configuración fue lo que me tomo mucho tiempo. Nota: Se puede hacer esto un archivo .httpaccess. Sin embargo no logre hacerlo funcionar por eso prefiero dejarlo como un nota (De que en teoría es posible).
En el archivo de configuración de apache (httpd.conf)
Buscamos la línea:
AddType application/x-httpd-php
Y le agregamos al final .htm y .html
Quedando algo asi como:
AddType application/x-httpd-php .htm .html
Esto es muy útil por razones de seguridad. Escondiendo en que esta programado la aplicación porque en el browser se vera simplemente .html en los scripts que en realidad son php. Pienso que es una excelente practica de configuración del los servidores.
Cuarto Truco.
Los virtual host, las configuración https y el /etc/hosts. Estos chicos pueden hacer una verdadera epifanía si no se sabe configurar bien. Hagamos algo básico y general. Los archivos hosts son archivos especializados dentro de los sistemas operativos (/etc/hosts para linux, unix y derivados) -> notese el s al final. Este archivo "simula" la llamada de un dominio remplazando por un ip previamente configurado.
Ejemplo:
127.0.0.1 koza.com
Si en el browser abro la dirección www.koza.com en realidad el archivo hosts se encarga de cargar mi servidor local.
Quinto Truco.
Los virtual Host son una noble invención, junto con el archivo host pueden hacer grandes hazanas.
Daremos por un hecho que existe en el archivo host la configuración anteriormente dada.
Entonces podemos construir de koza.com un mundo de reglas virtuales de nuestro sitio como:
ServerName cruiser.koza.com UseCanonicalName Off DocumentRoot /home/sites/koza/htdocs/ SetEnv SITE_LINK_URL http://www.google.com
En la configuracón arriba establecida le estamos diciendo al apache (Con ayuda del host file) que la proxima vez que alguien acceda a cruiser.koza.com su configuración personalizada va a usar Document Root en la carpeta /home/sites/koza/htdocs y que va a tener una variable de entorno personalizada llamada SITE_LINK_URL. Podemos hacer uso de esta en Php asi:
define("SITE_LINK_URL", $_SERVER["SITE_LINK_URL"]);