Por Qué Debería Usar Versiones De PHP Compatibles

Por , Actualizado: mayo 22, 2017
Traducido por Daniel Harfouch

versiones de php

PHP es uno de los lenguajes de scripting más populares en la web hoy en día. De acuerdo a W3TechsPHP es usado por más de 82% de todos los sitios web que utilizan un lenguaje de programación del lado del servidor. Esto significa que para cada 8 de cada 10 sitios web que visita, es más probable que utilicen versiones de PHP de alguna forma u otra. Y, por supuesto, juega un papel muy importante en lo que respecta al ecosistema de WordPress, ya que el CMS completo está basado en PHP.

Un dilema al que nos enfrentamos hoy es que muchas empresas, desarrolladores y hosts se han quedado atrás cuando se trata de soportar las últimas versiones de PHP. Algunas de las estadísticas a continuación pueden incluso sorprenderle. Hoy queremos discutir algunas de las razones por las que es tan importante que todos usen las últimas versiones de PHP, no sólo por razones de seguridad, sino también por un mejor rendimiento y soporte.

Versiones de PHP Viejas

Como con cualquier pieza de software, PHP tiene un ciclo de vida de lanzamiento en el que ha tenido que adherirse a fin de seguir impulsando las cosas y hacer mejoras. Cada versión principal de PHP suele estar completamente apoyada por dos años después de su liberación. Durante ese tiempo, los errores y los problemas de seguridad se corrigen y se parchan regularmente.

versiones-php-compatibles-para-wordpress
Versiones de PHP Compatibles

A partir de ahora, cualquiera que ejecute una versión de PHP por debajo de 5.6 ya no tiene soporte de seguridad y está expuesto a vulnerabilidades de seguridad sin parche. ¿Y adivine qué? Según la página oficial de Estadísticas de WordPress, al momento de escribir esto, más del 50% de los usuarios de WordPress todavía están en PHP 5.4 o inferior. Esto no sólo es malo desde una perspectiva de seguridad, sino también porque todavía hay una gran parte de los sitios de WordPress que no están aprovechando las mejoras de rendimiento adicionales con PHP 7.

Estadísticas de la versión de WordPress PHP
Estadísticas de la versión de WordPress PHP

La razón principal de la falta de adopción más rápida para las nuevas versiones probablemente viene por algunos factores diferentes:

  • La razón número uno que vemos de los nuevos clientes que migran a Kinsta es que los dueños de negocios no conocen o se preocupan por su versión de PHP. Esto, por supuesto, es comprensible en algunos casos, ya que no esperamos que todos lo sepan. Muchas veces esta responsabilidad recae en el desarrollador, la agencia o el host.
  • Toma tiempo para que los desarrolladores actualicen su código para apoyar versiones más nuevas de PHP. Esto incluye aquellos que desarrollan sitios web, temas, plugins, etc.
  • No sólo requiere esfuerzo y tiempo para actualizar el código, sino que también puede requerir pruebas extensas para garantizar la compatibilidad. ¡El repositorio de WordPress solo tiene más de 49,000 plugins!
  • Muchos hosts de WordPress han sido reacios a empujar versiones actualizadas de PHP porque esto podría terminar dando como resultado tickets de soporte adicionales si rompe un sitio. Como un host de WordPress definitivamente entendemos esto, pero de nuestra experiencia, esto es típicamente al revés. Muchos problemas de soporte que vemos son de problemas causados por versiones anteriores de PHP.
  • El desarrollador o la agencia puede estar atrapado entre una roca y un lugar duro al tratar con un cliente y otras aplicaciones de terceros que no están dispuestos a gastar recursos en la actualización.

Sin embargo, con todo lo dicho, todavía no es una excusa para ejecutar en una versión de PHP desactualizada, que no es compatible, y en realidad podría estar ralentizando su sitio WordPress. La buena noticia es que un poco de progreso está en curso. Jordi Boggiano cofundador de Private Packagist hace un informe anual sobre las estadísticas del uso de PHP. Y como se ve a continuación hay un movimiento hacia adelante. Esta es una muestra de las instalaciones de Composer sin embargo, es interesante ver los cambios.

Estadísticas del uso de PHP - por Jordi Boggiano
Estadísticas del uso de PHP – por Jordi Boggiano

Razones Por Las Que Debería Actualizar Las Versiones De PHP

Eche un vistazo a algunas de las razones de abajo por qué usted debe pensar en la actualización si no lo ha hecho ya.

1. Seguridad

Una de las razones más importantes para actualizar PHP es asegurarse de que se esté ejecutando en una versión que sea totalmente compatible y parcheada regularmente para vulnerabilidades de seguridad. PHP 5.4 no ha sido parchado desde 2015. Y PHP 5.5 no ha sido parcheado desde 2016. Es importante tener en cuenta, sin embargo, que algunos vendedores de sistemas operativos todavía actualizan versiones anteriores de PHP si lo incluyeron.

De acuerdo con Detalles de CVE, 2016 fue en realidad un año récord para las vulnerabilidades de seguridad de PHP, con más de 100 problemas reportados. Estos incluyen DoS, ejecución de código, desbordamiento, corrupción de memoria, XSS, traspaso de directorios, bypass, etc.

vulnerabilidades-php-por-año-1024x673
Vulnerabilidades de seguridad de PHP por año

Incluso los mismos PHP dan algunas sugerencias acerca de mantenerse actualizado:

PHP, como cualquier otro sistema grande, está bajo constante escrutinio y mejora. Cada nueva versión incluirá a menudo cambios mayores y menores para mejorar la seguridad y reparar cualquier defecto, percances de configuración y otros problemas que afectarán la seguridad general y la estabilidad de su sistema. Al igual que otros lenguajes y programas de secuencias de comandos a nivel de sistema, el mejor enfoque es actualizar a menudo y mantener la conciencia de las últimas versiones y sus cambios. PHP, Mantenerse al día

2. Rendimiento

¡Con el lanzamiento de PHP 7 se produjeron enormes ganancias de rendimiento! Tan grande de hecho, que debería ser la prioridad sobre una gran cantidad de las pequeñas optimizaciones que podría probar en su sitio WordPress. Los siguientes puntos de referencia demuestran mejoras significativas de rendimiento con PHP 7 sobre sus iteraciones anteriores. PHP 7 permite que el sistema ejecute el doble de solicitudes por segundo en comparación con PHP 5.6, con casi la mitad de latencia.

php-5.6-vs-php-7
Puntos de Referencia PHP por Rasmus Lerdorf, PHP Fluent Talk

También realizamos nuestros propios indicadores de rendimiento el año pasado con PHP 5.6 vs PHP 7 vs HHVM. Y de manera similar a los puntos de referencia anteriores vimos que PHP 7 podría ejecutar casi tres veces más transacciones por segundo en comparación con PHP 5.6.

  • Resultado de punto de referencia de PHP 7.0: 306.24 trans/seg
  • Resultado de punto de referencia de PHP 5.6.16: 106.45 trans/seg
php-5.6-vs-php-7-vs-hhvm-1024x476
Puntos de referencia de Kinsta

Christian Vigh también publicó una comparación de rendimiento en la que encontró que PHP 5.2 era 400% más lento que PHP 7.

cpu-puntos-de-referencia-versiones-php
Comparación de los resultados de punto de referencia puro de CPU

3. Soporte

El soporte es otra razón por la que desea utilizar las versiones de PHP más recientes y compatibles. Muchas veces, los desarrolladores de plugins y temas sólo pueden extender la compatibilidad con versiones anteriores hasta ahora. Mucho de esto se debe a las limitaciones de tiempo y no tener tiempo para probar la compatibilidad. Las cosas finalmente se romperán cuando se ejecuta en versiones antiguas, y puede ver esto siendo testigo en los foros de WordPress. Aquí está un error común, que es causado típicamente por una versión más vieja de PHP y cómo trata una cierta función:

Parse error: syntax error, unexpected ‘’ (T_VARIABLE), expecting function (T_FUNCTION) in /pub/file.php on line xxx

Puede hacer una búsqueda en los foros de WordPress para “unexpected T_Function” y devuelve más de 2,000 hilos, muchos con resultados de dentro de los últimos dos días. Aquí hay sólo un par de recientes, todo debido a la ejecución de antiguas versiones de PHP:

Muchos de estos hilos se están abriendo debido al hecho de que se ejecutan en versiones obsoletas de PHP. Sin embargo, lo mismo podría decirse de los hilos que se abren debido a problemas de compatibilidad de PHP 7. Lo que demuestra que la comunidad de desarrollo de WordPress todavía está tratando de ponerse al día con las nuevas versiones de PHP.

4. Nuevas Características Para Desarrolladores

La mayoría de los desarrolladores de WordPress preferirían trabajar sólo en versiones más nuevas de PHP si pudieran, simplemente debido al hecho de que ha habido tantas nuevas características añadidas entre PHP 5.2 y PHP 7.1. Unos cuantos cambios con PHP 7 y 7.1 incluyen:

  • Operador de comparación combinada
  • Operador de coalescencia nula
  • Nuevo tipo de insinuación
  • Clases anónimas
  • Tipos anulables
  • Retornos iterables y nulos
  • Manejo de excepciones de captura múltiple
  • Claves utilizables en listas
  • Más compensaciones negativas de la secuencia
  • Número de operadores y números mal formados
  • Empuje de servidor HTTP/2

No es divertido apoyar versiones antiguas de cualquier cosa. Desafortunadamente muchos desarrolladores están atascados teniendo que soportar una amplia gama de versiones.

Asegúrese De Que Su Host Soporta Las Últimas Versiones De PHP

Tomó mucho tiempo, pero los requisitos de WordPress.org oficiales ahora recomiendan un host que ejecute PHP versión 7 o superior.

Yoast acaba de publicar un gran artículo llamado “Whipping Your Host Into Shape.” (“Poniendo a su Host en forma”) En el artículo Joost de Valk entra en detalles sobre cómo el problema real es que los proveedores de hosting no están adoptando esto más rápido, e incluso si lo están, no están animando a los usuarios a actualizar. Y Yoast va a hacer algo al respecto. A partir de Yoast SEO 4.5 van a empezar a mostrar un aviso en el tablero de WordPress para los sitios que se ejecutan en PHP 5.2. Este aviso será grande, feo y no descartable.

PHP 7 is the future (and boy is it nice and fast). 😀 -- Joost de Valk via @yoast @kinsta Haga clic para Tweet

Si pudiéramos darle a Yoast un “high five”, lo haríamos totalmente! Kinsta ha soportado las últimas versiones estables de PHP 7 y 7.1 desde sus versiones estables. De hecho, cada instalación nueva de WordPress aquí en Kinsta por defecto va a PHP 7. Y PHP 5.6 es la versión mínima que permiten en nuestro entorno. No y nunca alojaremos sitios de WordPress que se estén ejecutando en una versión no compatible de PHP. Animamos a la gente a moverse a 7 o más para el mejor rendimiento.

Si su host de WordPress está arrastrando sus talones para lanzar nuevas versiones de PHP, le recomendamos que busque un nuevo host. No dude en contactarnos para ver cómo podemos ayudar.

Compruebe su Versión Actual de PHP

A lo mejor usted no sabe qué versión de PHP está actualmente en su sitio WordPress. Eche un vistazo a estas diferentes formas a continuación para averiguarlo.

1. Compruebe la Versión de PHP con Pingdom

Una de las maneras más fáciles de comprobar para ver qué versión de PHP está ejecutando es utilizar una herramienta como Pingdom o Google Chrome Devtools. La primera cabecera de solicitud HTTP normalmente le mostrará la versión.

comprobar-versión-php-pingdom

Esto se basa en que el host no modifique el valor de la cabecera X-Powered-By. Si lo hacen, es posible que no vea su versión de PHP, en cuyo caso tendría que utilizar la segunda opción a continuación. O usted puede alcanzar siempre buscar a su host y preguntar.

2. Compruebe la Versión de PHP con Archivo

También puede consultar su versión de PHP subiendo un archivo via FTP a su servidor.

Paso 1

Cree un archivo en blanco llamado phpinfo.php. En el archivo, pegue el siguiente contenido:

<?php
echo 'Current PHP version: ' . phpversion();
?>

Paso 2

Cargue el archivo en la raíz de su sitio de WordPress.

cargar-archivo-phpinfo

Paso 3

A continuación, busque la ubicación de su archivo, domain.com/phpinfo.php. A continuación, debe ver una lectura de su versión actual de PHP.

comprobar-versión-php-navegador

Cómo Actualizar PHP

¿Listo para actualizar? Genial, pero una de las primeras cosas que debe hacer es probar su sitio para garantizar la compatibilidad. Usted podría probar su sitio de WordPress localmente o mejor aún, utilizar un entorno de prueba, ya que se asemejará más a un sitio de producción en vivo. ¡Es mejor prevenir que lamentar!

Si usted es un cliente de Kinsta puede crear fácilmente un entorno de prueba con un solo clic. Cambie la versión de PHP desde el panel de control y empiece a probar.

entorno-de-prueba-1

Y recuerde, si está actualizando desde una versión antigua de PHP, asegúrese de que también esté actualizando su instalación de WordPress también. Una nueva versión de PHP con una versión de 2 años de WordPress probablemente no terminará bien. Una vez que haya probado su sitio y esté listo para actualizar PHP, aquí tiene algunos recursos que le ayudarán a ir rápido.

Actualice PHP con Kinsta

Si usted es un cliente de Kinsta, puede fácilmente cambiar la versión de PHP haciendo clic en su sitio, yendo a “Herramientas”, y seleccionando un motor de PHP diferente. Tenemos PHP 5.6, PHP 7 y PHP 7.1 disponibles. Así como HHVM. Si está ejecutando un sitio más grande, puede preguntarnos sobre los beneficios de rendimiento de HHVM.

wordpress-versión-php

Actualice PHP desde cPanel

Si su host utiliza cPanel lo más probable es que ya tienen una opción a su disposición para cambiar su versión de PHP. Simplemente ingrese a cPanel y en la categoría “Software” haga clic en “Seleccionar la versión de PHP”.

seleccionar-versión-php

A continuación, puede seleccionar las versiones de PHP disponibles que su host soporta.

php-7

Actualice PHP Manualmente en el Servidor

Si gestiona su propio servidor, le recomendamos que revise la documentación oficial de instalación de PHP, ya que las instrucciones variarán según el sistema operativo. Usted querrá ver los cambios con funciones, clases, envolturas, extensiones, módulos, etc. Aquí hay algunos enlaces a las guías de migración:

Resumen

Ahora es el momento de pensar en actualizar a PHP 7 o superior si aún no lo ha hecho. No sólo porque querrá estar ejecutándose en software compatible, sino porque tendrá garantías de rendimiento! Si su actual host de WordPress no soporta PHP 7 todavía, le recomendamos encarecidamente que busque un nuevo hosting. Y también con temas y plugins. Si el desarrollador todavía no ha publicado un parche, podría ser el momento de encontrar una alternativa.

¿Ha migrado recientemente a PHP 7? Nos encantaría escuchar sus experiencias a continuación. ¿Fue una transición fácil? O tal vez usted todavía está atascado esperando a un tercero.