
Uno de los principales problemas de la programación de aplicaciones en PHP, es el tema de migrar de un entorno de desarrollo, a un entorno final o productivo. Esto ocurre, ya que en el pc donde estamos programando, normalmente disponemos de todos los permisos necesarios para instalar extensiones que vamos utilizando, sin embargo, en un servidor, la mayoría de las veces no tenemos acceso a nada, incluyendo el php.ini, ya sea por que es un host gratuito, pagado, pero no un servidor dedicado.
De las extensiones o funciones más usadas y a su vez la que mayormente nos causan problemas a la hora de migrar:
Esta librería se utiliza para el tratamiento de imagenes. Ya sea al vuelo, o generar imagenes estaticas. Mayormente la aplicamos en generación de thumbnails, captcha para evitar spam en formularios, entre otras cosas. A veces, por un tema de rendimiento en servidores gratuitos o host de bajo precio, viene deshabilitada por defecto. A su vez, puede ocurrir que este habilitada, pero sin soporte para la librería lib-jpg, lo que nos causaría el problema de no poder utilizar el formato JPG.
Aplicada en el proceso de cifrar información (NO ENCRIPTAR, que es un mal uso de la palabra, ya que la traducción de encrypt, es CIFRAR). No esta habilitada por defecto.
Esta librería solo esta disponible en php5, por ende todos los host con php4 no podrán ejecutarla. Viene por defecto, pero simplemente para php5. Se utiliza para la lectura y creación de archivos XML.
Al igual que SimpleXML, solo esta disponible para php5, y más aún, php5.2, aunque viene dentro de php y no es una extension separada.
Es común ver códigos escritos en php que utilizan los shorttags o etiquetas cortas:
<? ?> <?='Hola';?>
Que al no estar habilitadas, no serán interpretadas por php y por ende, en nuestros archivos, al verlos por el navegador aparecerá parte del código, y esto podría suponer un problema de seguridad, ya que cualquier visitante podría leerlo y a su vez buscarnos bugs o debilidades.
PERMISOS DE ESCRITURA
Siempre que utilicemos funciones como fwrite, fopen, file_put_contents es necesario comprobar, que los ficheros dispongan de los permisos necesarios, y más aún si es IIS o bien apache (sobre linux). Al igual que los permisos de escritura, existe el SAFE_MODE, que es un parámetro de configuración que le indica a php que los scripts estarán limitados en el uso de algunas funciones especificas.
ID3
Es de uso un tanto específico para obtener información id3 de ficheros MP3. Como alternativa existen clases de lectura de mp3, así no dependerás de la extensión.
Por este motivo, es de vital importancia, que cada vez que utilices estas funciones, debas comprobar que no existen conflictos en tu servidor productivo, ya que si lo haces de forma posterior al desarrollo no tendrás la posibilidad de volver atrás.