Articles

Qué es PHP 7 y cómo empezar a usarlo con WordPress?

Etiquetas – cómo, PHP, PHP7
  • Por Sourav Kundu
  • 15 de mayo de 2019
WordPress Deals

PHP 7 es una de las actualizaciones más significativas de la historia de un software del lado del servidor que alimenta más del 82% de Internet y, en esta guía, hablaremos de los entresijos de su uso con WordPress.

Veremos las increíbles ventajas de PHP 7, y le ayudaremos a entender la importancia de adherirse a la versión mínima recomendada (5.6). También aprenderás a comprobar si tu sitio de WordPress está preparado para PHP 7, y a medir los pros y los contras de la actualización a esta nueva versión.

Al final de esta guía, estarás equipado con una firme comprensión de PHP, y lo suficientemente convencido como para actualizar al mínimo recomendado – ¡o tal vez incluso dar el siguiente paso a PHP 7!

Comencemos…

Guía para principiantes de PHP – ¿Qué es PHP?

Para aquellos que son absolutamente nuevos en el tema, PHP es un lenguaje de scripting del lado del servidor diseñado para generar páginas HTML bajo petición.
Piensa en él como un simple proceso de tres pasos:

  • Entrada: Usted introduce un conjunto de comandos escritos en forma de script PHP, como entrada al Motor PHP.
  • Procesamiento: El Motor PHP ejecuta el script en el servidor.
  • Salida: La salida es una página HTML que es renderizada por el navegador web.

En el proceso de tres pasos descrito anteriormente, podemos identificar algunos componentes.

  1. El/los script(s) PHP
  2. Motor PHP
  3. Servidor
  4. Salida HTML

Ahora, veamos cómo se relacionan con un entorno típico de WordPress.

Components of a typical PHP Environment

1) Scripts PHP: WordPress es esencialmente una vasta y organizada colección de código escrito en múltiples lenguajes de scripting, como PHP, JavaScript y CSS, siendo el principal PHP. Es lo que da a WordPress su naturaleza dinámica.

2) Motor PHP: Piense en él como el componente central que ejecuta las instrucciones establecidas en el script PHP – haciéndolo con la ayuda del servidor en el que se está ejecutando. El motor PHP es uno de los componentes más cruciales, y afecta a la velocidad, el rendimiento y la fiabilidad de un sitio web. También es el tema central de nuestra discusión!

3) Servidor: Este es el ordenador remoto, también conocido como «anfitrión web», donde se aloja su sitio de WordPress. Si hubiera un host web sin PHP instalado, WordPress no funcionaría en él.

4) HTML de salida: Cada vez que se carga un sitio web de WordPress, se invoca al motor PHP. Los scripts son ejecutados por el motor PHP usando el servidor, y el HTML final (o de salida) es exportado al navegador web del visitante. Y eso es lo que completa el proceso.

¿Qué es PHP 7?

Ahora que tenemos claro qué es un script PHP, hablemos del motor PHP. Durante el resto del artículo, utilizaremos los términos ‘motor PHP’ y ‘PHP’ como sinónimos.

PHP 7 es un motor PHP que se lanzó en diciembre de 2016, y lleva una plétora de nuevas características, mejoras de rendimiento y mejoras de seguridad. Como toda buena lección, empecemos con un poco de historia.

Una breve historia de PHP

PHP fue lanzado en 1994 como un lenguaje de scripting por Rasmus Lerdorf en un esfuerzo por crear una herramienta que hiciera fácil la actualización de su página web personal. *No se imaginaba que este proyecto paralelo evolucionaría hasta convertirse en el motor de más del 82% de todos los sitios web, incluyendo grandes como *Facebook y WordPress.

A lo largo de los años, PHP ha tenido un par de lanzamientos. La primera fue en 1995, seguida de la versión 2.0 en 1997. La versión 3.0 fue lanzada en 1998, seguida por la versión 4.0 en el 2000.

¿Es la anticipación lo que hace que PHP 7 sea especial?

illustration of 12 years time taken to release php 7

Aquí es donde las cosas comenzaron a ponerse interesantes. La versión 5 de PHP fue lanzada cuatro años después, en 2004. Pasó a tener múltiples iteraciones – tanto que el comité decidió saltarse la versión 6 y pasar a la 7. Para poner las cosas en perspectiva, la primera iteración de PHP 5 fue la versión 5.0, lanzada en 2004. Su última iteración, PHP 5.6, fue lanzada diez años después, en 2014.

Dos años después, llegó PHP 7 – la versión más prometedora de PHP hasta la fecha. En esencia, el mundo tuvo que esperar unos buenos 12 años para tener en sus manos PHP 7.

Mejoras de rendimiento en PHP 7

La espera no fue en vano. PHP 7 vino con un camión de mejoras de rendimiento y seguridad. Analicemos cada una de las mejoras de rendimiento, respaldadas por sólidos benchmarks.

1) Ancho de banda masivamente mejorado (peticiones por segundo)

php 7 advantages in WordPress higher bandwidth

PHP 7 rindió casi el doble que PHP 5.6, ejecutando WordPress 4.1.1.

php7 vs php 5.6 in WordPress performance benchmark

En el gráfico de arriba, podemos ver casi 2.18 veces el número de peticiones por segundo con menos de la mitad de latencia.

2) Menor latencia para usuarios concurrentes

php 7 advantages in WordPress lower latency

La latencia es la cantidad de tiempo transcurrido entre la primera petición y la primera respuesta entre el servidor y el cliente. Cuanto menor sea la latencia, mejor será el servicio. Comprobemos cómo lo gestiona PHP 7.

php7 vs php 5.6 in WordPress latency concurrent users

Hemos tomado tres puntos de datos basados en el número de usuarios concurrentes para cada motor de PHP.

  1. Las barras naranjas representan la latencia cuando diez personas están utilizando simultáneamente su sitio.
  2. Las barras azules son para el doble (es decir, 20 usuarios simultáneos).
  3. Las barras rosas son para 40 usuarios simultáneos.

En todos los casos, PHP 7 supera a sus predecesores.

*¡Todo esto en el *exacto mismo hardware! Esto significa que si se actualiza a PHP 7 con todas las comprobaciones de compatibilidad necesarias en su lugar (más sobre esto más adelante), debería ver un aumento del doble en el rendimiento.

3) Las versiones de WordPress 4.0+ están optimizadas para PHP 7

php 7 advantages in WordPress better compatibility with wordpress

WordPress 4.0 en sí mismo ha sido ajustado para aprovechar las últimas características de PHP 7. Según Zend, tiene casi el doble de rendimiento en el mismo hardware, en comparación con su predecesor, WordPress 3.6.

php7 WordPress 3.6 vs 4.1 performance improvement

En el gráfico anterior, vemos que hay una mejora de rendimiento doble en una actualización importante de WordPress. Este punto de referencia es independiente de la versión de PHP. Más bien, es una indicación de que la comunidad de WordPress está optimizando continuamente el código para las próximas versiones de PHP.

4) 75% menos instrucciones, mismo resultado

php 7 advantages in WordPress memory optimization

PHP 7 también tiene un conjunto de instrucciones asesino. Está escandalosamente optimizado para ejecutar la misma tarea en menos instrucciones. Por ejemplo, una solicitud de WordPress en PHP 5.6 se ejecuta en 100 millones de instrucciones de la CPU. Mientras que en PHP 7, la misma petición se ejecuta en 25 millones de instrucciones de la CPU. Eso es una reducción del 75% en el número de comandos necesarios para hacer el mismo trabajo!

5) Ganancias significativas de rendimiento

php 7 advantages in WordPress superior performance

Jason Cosper, nerd residente en WP Engine, le encanta jugar con los últimos motores de PHP para ver cuáles funcionan mejor.

php 7 advantages in WordPress php 5.5 vs php 7.0

En uno de sus experimentos, encontró que PHP 7 es posiblemente 6.6 veces más rápido que PHP 5.5 – ejecutando WordPress 4.3.1 y bbPress.

Estado del PHP de WordPress en el primer trimestre de 2017

Ahora que tenemos una comprensión funcional de los beneficios de PHP 7, echemos un vistazo a cuántos usuarios de WordPress lo están utilizando.

state of WordPress php 2017 q1

Lo bueno: Según las estadísticas oficiales de WordPress, el 9% de la comunidad de WordPress ha actualizado a PHP 7 a partir del 20 de abril de 2017.

El Bien: Alrededor del 40% de los usuarios de WordPress están utilizando PHP 5.6. Esta es una noticia relativamente buena, ya que PHP 5.6 obtiene soporte de seguridad hasta el 31 de diciembre de 2018.

Lo feo: Sin embargo, la noticia realmente mala es que más del 50% de los sitios activos de WordPress utilizan una versión de PHP anterior a la 5.6, lo que expone a todos estos sitios a graves problemas de vulnerabilidad.

  • PHP 5.4 no ha sido parcheado desde 2015.
  • Y PHP 5.5 no ha sido parcheado desde 2016.
  • Si estás utilizando una versión anterior a la 5.6 (más sobre cómo comprobar tu versión de PHP más adelante), por favor, actualiza tu versión de PHP inmediatamente.

Un faro de esperanza

yoast seo php 5 and php 7 battle

Joost de Valk, fundador de Yoast SEO -un plugin de SEO para WordPress con más de 3 millones de instalaciones activas- decidió hacer algo al respecto. Citando el artículo original:

A partir de Yoast SEO 4.5, empezaremos a mostrar un aviso en el panel de control de WordPress a los administradores de los sitios que funcionan con PHP 5.2. Este aviso será grande, feo y no será admisible. En este aviso, explicaremos por qué el administrador debe actualizar la versión de PHP del sitio.

WordPress y las versiones anticuadas de PHP

dangers of outdated php illustration

En este punto, es importante señalar que WordPress seguirá soportando versiones antiguas de PHP. Esto no significa que puedas sentarte y relajarte. Es en nuestro mejor interés actualizar a 5.6 – si no PHP 7.

php 5.x and php 7 support timeline

Si estás en PHP 5.6, hay un par de cosas que vienen en tu camino pronto:

  1. De acuerdo con la línea de tiempo oficial de soporte de PHP, PHP 5.6 tendría soporte oficial hasta el 17 de enero de 2017. Eso ha terminado.
  2. En mejores noticias, PHP 5.6 obtendría soporte de seguridad hasta el 31 de diciembre de 2018.
  3. Por supuesto, aún te estarás perdiendo todas las mejoras de rendimiento que podrías obtener por una inversión absolutamente nula.

Cambiar a PHP 7 – ¿Vale la pena?

Ahora que tenemos una firme comprensión de las diversas ventajas de PHP 7, vamos a abordar la pregunta crucial: ¿Debería cambiar a PHP 7?

El método para llegar a cualquier decisión debe estar basado en la lógica. Veremos cómo abordar estas tres preguntas básicas:

¿Cuáles son las ventajas de cambiar a PHP 7?

php 7 advantages

Hemos cubierto cinco puntos respaldados por puntos de referencia de toda la web. Todos ellos apuntan a una serie de beneficios, y a un sí rotundo cuando se trata de la decisión de cambiar.

¿Son su tema y plugin de WordPress compatibles con PHP 7?

php 7 compatibility issues

Sólo porque WordPress es compatible con PHP 7 (y tiene compatibilidad con PHP 5.6), no significa que todos sus temas y plugins lo sean. Usted puede usar un tema o plugin personalizado que tiene características que son obsoletas en PHP 7. También es posible que utilices un plugin del repositorio de WordPress que no se haya actualizado desde hace tiempo. ¿Cuál es la solución?

¿Cómo puede comprobar si su sitio de WordPress está preparado para PHP 7?

php 7 challenges

Por suerte, los generosos desarrolladores de WP Engine han creado un plugin bastante impresionante que resuelve este mismo problema.

php compatibility checker WordPress plugin by wpengine

Presentando el Comprobador de Compatibilidad PHP: Un plugin que escanea tu base de código de WordPress y los plugins de los temas activos en busca de problemas de compatibilidad conocidos.

PHP Compatibility Checker

Versiones de PHP soportadas por el plugin PHP Compatibility Checker

Puedes comprobar si hay problemas de compatibilidad para cinco versiones distintas de PHP, que van desde la 5.3 a 7.0.

php compatibility checker WordPress plugin test results

(clic para ampliar)

Los problemas de compatibilidad (si se encuentran) se clasifican en errores y advertencias. El plugin listará el archivo y el número de línea del código infractor, junto con la información de por qué ese código es incompatible con la versión elegida de PHP.

Sin embargo, hay algunas limitaciones:

  1. El plugin no puede detectar problemas de compatibilidad en tiempo de ejecución, ya que no ejecuta ninguno de los temas y plugins existentes.
  2. Se basa en WP-Cron para escanear archivos en segundo plano, por lo que WP-Cron debe estar habilitado y funcionando en el servidor.
  3. Ocasionalmente, se reportan falsos positivos ya que el plugin no puede detectar rutas de código no utilizadas que pueden ser usadas para la compatibilidad hacia atrás.

list of supported plugin checks by php compatibility checker

Lista de ejemplos de plugins soportados por PHP Compatibility Checker.

Con todo, es un plugin bastante ordenado que puede decirte si tu pila de WordPress está o no preparada para la actualización.

¿Cuáles son los peligros de no cambiar a PHP 7?

php 7 pitfalls

Los siguientes tres puntos explican las desventajas de no actualizar al recomendado PHP 7. También destacan algunos de los posibles peligros de no actualizar a la versión mínima requerida, PHP 5.6.

4.1 Caída de rendimiento: En primer lugar, te perderías al menos una duplicación del rendimiento sin invertir ni un céntimo. ¿Y adivina qué? Si está en PHP 5.2, se reporta que es 400% más lento que PHP 7!

4.2 Problemas de seguridad: PHP 5.x tenía una plétora de vulnerabilidades que fueron debidamente parcheadas con las nuevas versiones. De hecho, 2016 fue en realidad un año récord para las vulnerabilidades de seguridad de PHP, con más de 100 problemas reportados, que van desde la denegación de servicio (DoS) a la corrupción de la memoria, la ejecución de código malicioso, y así sucesivamente.

Para que te hagas una idea de lo mala que es la situación, PHP 5.4 no ha sido parcheado desde 2015, y ya no está soportado. Y, sin embargo, ¡el 21% de los usuarios de WordPress siguen utilizando PHP 5.4! Si eres parte de ese grupo, por favor actualiza a 5.6 hoy mismo.

4.3 Plugins rotos: El uso de una versión antigua y no soportada de PHP crea conflictos con los plugins. Uno de los errores más destacados es el de ‘T_Function inesperado’, como se ve a continuación.

outdated version of PHP causes WordPress conflicts

Captura de pantalla del hilo de soporte del plugin Content Locker

La captura de pantalla anterior es una consulta de soporte para el plugin Content Locker. El autor menciona claramente que la versión mínima de PHP necesaria para que el plugin funcione es la 5.4.

Historias de éxito

PHP 7 success stories

Siempre es alentador ver cómo varias organizaciones de todo el mundo se están beneficiando de la actualización.

5.1) Una fortuna ahorrada para Badoo

Nuestro primer ejemplo es la aplicación de citas Badoo, que ha conseguido ahorrar más de un millón de dólares al actualizarse a PHP 7. ¿Cómo? Muy sencillo. PHP 7 redujo la cantidad de potencia de cálculo necesaria para realizar la misma tarea. Así, se necesitaron menos servidores para hacer el mismo trabajo, lo que acabó liberando unos 300 servidores.

5.2) Gran mejora del rendimiento para Clinton Electronics

Nuestra segunda historia de éxito viene de un cliente de WP Engine, Clinton Electronics. En pocas palabras, querían una tienda de comercio electrónico dinámica con tiempos de carga rápidos. El stack elegido fue WordPress, junto con WooCommerce. La agencia con la que trabajaban eligió a WP Engine como proveedor de alojamiento gestionado de WordPress, que, a su vez, recomendó PHP 7. Esta actualización logró reducir el tiempo de carga del sitio web hasta en un 60%.

¿Cómo cambiar a PHP 7 con WordPress?

switching to php 7 illustration

En primer lugar, asegúrese de que su actual pila de WordPress es compatible con PHP 7 utilizando el plugin PHP Compatibility Checker. Una vez que el plugin le dé luz verde, proceda a la actualización.

  • Si está utilizando un alojamiento compartido de WordPress, como Bluehost, puede actualizar su versión de PHP en cuatro sencillos pasos. Casi todos los proveedores de alojamiento compartido de WordPress vienen con un cPanel o un panel de acceso personalizado en el que se puede cambiar la versión de PHP.
  • Si usted está usando un proveedor de alojamiento de WordPress administrado, como WP Engine, el cambio a PHP 7 es un pedazo de la torta – llegar a su apoyo, y lo tendrán hecho en un santiamén.

Página de preguntas frecuentes sobre PHP de WP Engine, recuperada el 26 de abril de 2017

Página de preguntas frecuentes sobre PHP de WP Engine, recuperada: 26 de abril de 2017

La buena noticia para los usuarios de WP Engine es que la versión mínima permitida de PHP es la 5.6, según su página de preguntas frecuentes.

¿Por qué WP Engine? Hay una serie de beneficios que hacen que WP Engine sea aún más atractivo:

  1. Tecnología innovadora de WordPress.
  2. Servidores increíblemente rápidos capaces de manejar cientos de millones de solicitudes por día.
  3. Seguridad de alto nivel con protección DDoS avanzada.
  4. Soporte superior.

Han estado en el negocio durante un par de años, y han ganado a las principales marcas, como National Geographic y AMD. Lo que más me gusta de WP Engine es su cultura de retribución a la comunidad – ya sea patrocinando WordCamps, organizando eventos, o construyendo increíbles plugins gratuitos como el PHP Compatibility Checker.

Si estás considerando una actualización, o buscas cambiar tu actual proveedor de alojamiento, te recomendamos WP Engine como tu proveedor de alojamiento gestionado de WordPress, con planes desde 29 dólares al mes.

Resumiendo

Recapitulemos rápidamente todo lo que hemos aprendido hasta ahora:

  1. PHP alimenta el 82% de Internet, impulsando sitios como Facebook y WordPress.
  2. La versión mínima recomendada de PHP es la 5.6 – ¡cualquier cosa por debajo de eso es un gran no-no!
  3. PHP 7 tiene mejoras significativas en términos de rendimiento, seguridad y características – aumenta fácilmente el rendimiento de WordPress por 2x con cero hardware adicional.
  4. Cambiar WordPress a PHP 7 trae a casa una serie de beneficios sin ninguna inversión.
  5. Sin embargo, antes de cambiar, es necesario asegurarse de que su configuración de WordPress está listo para ser actualizado a PHP 7 utilizando el plugin PHP Compatibility Checker.
  6. Hostings compartidos como Bluehost soportan PHP 7, pero es necesario habilitarlo manualmente.
  7. Hostings de WordPress gestionados como WP Engine tienen una compatibilidad sólida con PHP 7.

Al final del día, PHP sigue mejorando con cada versión. Si usted está usando WordPress junto con sólo los plugins populares, usted podría ganar mucho mediante la actualización a PHP 7. Sin embargo, si estás usando muchos plugins personalizados o que se actualizan con poca frecuencia, quizás sea mejor aguantar unos meses más antes de actualizar. Sin embargo, es imperativo que uses PHP 5.6 y nada por debajo de eso.

¿Ya usas PHP7 con WordPress? Pensamientos?

Por Sourav Kundu

Un entusiasta de la tecnología en general, Sourav disfruta aprendiendo y escribiendo sobre WordPress, y está interesado en el marketing, la psicología y todas las cosas digitales. Se le puede localizar en Twitter.