Transición de PHP 5.3 -> PHP 5.4

Transición de PHP 5.3 -> PHP 5.4 en Servidores Compartidos

***Estado Actual***

Actualmente estamos trabajando en esta transición, pero no se ha aplicado a todos los servidores. Hay algunos problemas con el back-end, los cuales se están atendiendo antes de realizar la transición . Una vez que estos inconvenientes sean resueltos, enviaremos un comunicado oficial.

Usted puede saber si su servidor ha sido migrado antes del lanzamiento oficial por la presencia de un archivo en:

/home/<user>/.htaccess

Reemplace <user> con su nombre usuario. Este archivo se explica en mayor detalle en una sección posterior. Al momento no se cuenta con una fecha específica para que la transición ocurra en todos nuestros servidores.

***La Necesidad de la Transición***

Por políticas de PHP (The PHP Group’s Unsupported Branches policy), La versión de PHP 5.3 finalizó su periodo de vigencia hace 6 meses. Esto significa que la versión 5.3 no será respaldada por el grupo PHP, de esta manera no se publicarán nuevos parches para esta versión, causando riesgos de seguridad y problemas de compatibilidad con el software nuevo o actualizado.

Como resultado de este desarrollo, mantendremos PHP 5.3 como la versión por defecto, pero en breve, actualizaremos todos los servidores compartidos de Hostdime a la versión 5.4. Esta transición es necesaria para proveer un ambiente seguro a todos nuestros clientes de hosting compartido, así también para prevenir problemas de compatibilidad con el nuevo o actualizado software de PHP.

Por políticas de PHP (The PHP Group’s Unsupported Branches policy), PHP 5.4 seguirá recibiendo soporte de seguridad hasta Septiembre de 2015. Como parte de la iniciativa para proveer continuamente las versiones actualizadas y entornos seguros de servidores compartidos, nos esforzamos para mantener la versión por defecto de PHP en los servidores compartidos de Hostdime lo más alineada a lo que establece el grupo de PHP.

***Plan de Trabajo***

Algunos inconvenientes dificultan la transición de nuestros clientes hacia nuevas versiones de PHP

El grupo de php contempla sólo problemas de scripts en la documentación de migración. Hemos identificado los problemas más importantes:

Problema    Explicación
register_globals     La eliminación de este elemento rompe OS Commerce y algunos scripts de mayor antigüedad
magic_quotes     La eliminación de este elemento rompe script sumamente viejos

Específicamente en nuestros servidores compartidos, tenemos los siguientes problemas:

  • Para los clientes con un archivo de configuración php.ini local, con una configuración personalizada (como memory_limit o allow_url_fopen), por favor póngase en contacto con Soporte Técnico HostDime para reemplazar y actualizar el archivo de configuración
  • Hashes (Funcionales de Resumen) previas a MySQL 4.1 ya no serán soportadas para trabajar con extensiones PDO, como ya no se reconoce el protocolo de autenticación. Esto se ha abordado en gran medida para la mayoría de los clientes como por este artículo. Para obtener ayuda adicional, póngase en contacto con el Soporte Técnico HostDime

Actualmente estamos en el proceso de recopilación de la nueva 2015 LAMP Estándar de Apache 2.4 y PHP 5.4 a partir de julio de 2015.

Para hacer esta transición sencilla para todo el mundo, estamos agregando una directiva de configuración en /home/myuser/.htaccess (reemplace myuser con su nombre de usuario cPanel) la cual mantendrá la cuenta ejecutándose en PHP 5.3. Si el archivo ya existe, esta configuración se antepone, por lo que será reemplazado por cualquier configuración que ya tiene en su lugar. Esto significa que se seguirán utilizando los archivos locales personalizados php.ini, etc. Puede haber un pequeño número de usuarios con configuraciones que son incompatibles con esta transición, pero el manejador seguirá siendo accesible (véase la parte inferior de este artículo).

Esto permitirá un lanzamiento sin problemas de PHP 5.4, donde el propio servidor se actualizará para soportar PHP 5.4, mientras que su cuenta sigue ejecutándose activamente PHP 5.3. Por lo tanto, nuestros clientes podrán realizar la transición de sus scripts PHP y configuraciones para ser compatibles con la nueva versión, lo que le permite evitar tener su sitio abajo debido a errores de incompatibilidad de la versión si su sitio no está listo para el nuevo entorno de PHP 5.4.

Todas las cuentas tendrán que ser compatible con PHP 5.4 (A finales del 2015 Standard LAMP incluye Apache 2.4) en una fecha aun no determinada, esta fecha les será comunicada por correo electrónico.

***Configurando su Cuenta hacia PHP 5.4***

Si ha abordado los problemas anteriores y siente que está preparado para configurar su cuenta para usar PHP 5.4, usted puede lograr esto simplemente comentando (colocar un carácter # al principio de las líneas directrices) las directivas de configuración de /home/myuser/.htaccess (reemplace myuser con su nombre de usuario cPanel) en su directorio personal:

# Custom Legacy PHP 5.3 handler placed by host
AddType application/x-httpd-php53 .php5 .php4 .php .php3 .php2 .phtml
suPHP_ConfigPath /usr/local/lib/php53.ini
# End Custom Legacy PHP 5.3 handler placed by host

Sin embargo, si usted no está listo para PHP 5.4, simplemente eliminando el comentario de las directivas de configuración, su cuenta volverá a PHP 5.3.

Por favor realice el mayor esfuerzo para preparar y configurar sus cuentas para ser compatible con PHP 5.4 tan pronto como sea posible. Si espera demasiado tiempo, usted puede terminar con un gran problema debido a la incompatibilidad entre las versiones, ya que cabe la posibilidad que no tenga tiempo para arreglarlo antes de que su sitio comience a fallar o mostrar errores de compatibilidad.

**Personalizar AddType**

Si usted esta usando AddType personalizado (por ejemplo para cargar .html con PHP) usted deberá tener en cuenta lo siguiente:

Las líneas relevantes para actualizar la configuración de suPHP y php.conf son como las siguientes:

# suPHP Conf
application/x-httpd-php5=»php:/usr/bin/php»
application/x-httpd-php53=»php:/usr/bin/php53″

# php.conf
AddType application/x-httpd-php5 .php5 .php4 .php .php3 .php2 .phtml
<Directory />
suPHP_AddHandler application/x-httpd-php5
suPHP_AddHandler application/x-httpd-php53
</Directory>

Esto significa que el manejador de PHP5 application/x-httpd-php5 ahora cargara PHP 5.4 en lugar de PHP 5.3. Si usted necesita el manejador viejo PHP 5.3 usted deberá usar application/x-httpd-php53

**Crontab**

También debemos actualizar Crontab para asegurarnos que cualquier referencia al sistema PHP deba usar el manejador correcto antes de recompilar.

Ahora
0 * * * php /home/myuser/public_html/beta/cron.php

Después
0 * * * php53 -c /usr/local/lib/php53.ini /home/myuser/public_html/beta/cron.php

Usted necesita actualizar el cron tan pronto como esté listo para proceder con el upgrade. Sólo tiene que referenciarlo para utilizar el nuevo PHP 5.4 sin hacer referencia al antiguo php.ini global.