Con motivo de la actualización de servidores de hosting compartido, hemos de llevar las últimas unidades que aun corren con PHP4 a PHP5, algo que demoramos 6 meses más de lo previsto ante la solicitud de un centenar de clientes.
Ha llegado el momento de hacerlo. A continuación compartimos algunas notas y tips que pueden ser de utilidad.
Tal lo expresado por la gente de PHP: “PHP 5 y el Motor Zend 2 integrado han mejorado significativamente el rendimiento y las capacidades de PHP, al mismo tiempo que se han tomado precauciones para evitar al máximo incompatibilidades con el código existente. Por lo tanto, migrar su código desde PHP 4 a la versión 5 debe resultar bastante fácil. La mayoría de código PHP 4 existente debe estar listo para correr sin modificaciones, pero aun es buena idea que conozca sobre las pocas diferencias y tome sus precauciones para probar el código antes de actualizar versiones en entornos en producción.“.
Las diferencias pueden ser vistas aquí: http://www.php.net/manual/es/migration5.php aunque detallamos (para quienes tengan un perfil técnico o simple curiosidad) los puntos más comúnmente encontrados en nuestros clientes ya actualizados:
1) Se recomienda el uso de include_once() en lugar de include() y el control de inclusión previa.
2) Controlar que a array_merge() se le pasen únicamente matrices para evitar un error de tipo E_WARNING para cada uno de esos parámetros.
3) El uso de índices de cadena inválidos generan errores de tipo E_ERROR en lugar de E_WARNING.
4) strrpos() y strripos() ahora usan la cadena entera como aguja.
La lista completa, bajo el título “Cambios Incompatibles con Versiones Anteriores” puede ser vista aquí.
No hemos visto incidentes en otros servidores ya migrados aunque no podemos asegurar en un 100% que no los haya ya que cada sitio Web puede tener sus particularidades que no respeten alguno de los puntos indicados anteriormente.
Para independizarse de versiones de PHP puede consultar PEAR en http://pear.php.net/package/PHP_Compat con lo cual, nuevas versiones de PHP (como la rama 6), no presentarían mayores problemas.
