Generalidades de PHP 7

Generalidades

PHP 7 es la próxima actualización importante del lenguaje de programación PHP que ofrece varios beneficios sobre las versiones anteriores, como una nueva versión de Zend Engine y un rendimiento más rápido.

PHP 7 también ha eliminado varias funciones obsoletas de versiones anteriores. Debido a esto, los usuarios no deben actualizar sus sitios hasta que estén seguros de que todo es totalmente compatible con la nueva versión.

Consulta el siguiente artículo para obtener instrucciones sobre cómo actualizar la versión PHP de tu sitio:

Beneficios

La siguiente lista está tomada de php.net:

  • Rendimiento mejorado: PHP 7 es hasta dos veces más rápido que PHP 5.6.
  • Uso de memoria significativamente reducido.
  • Árbol de sintaxis abstracta.
  • Soporte consistente de 64 bits.
  • Jerarquía de excepciones mejorada.
  • Muchos errores fatales convertidos en excepciones.
  • Generador seguro de números aleatorios.
  • Se eliminaron SAPI y extensiones antiguas y no compatibles.
  • El operador de fusión nulo (??).
  • Declaraciones de tipo de retorno y escalar.
  • Clases anónimas.
  • Cero costo afirma.

Pautas generales de actualización

  • Puedes actualizar la versión PHP de su sitio en tu panel.
  • Asegúrate de que tu software y todos los complementos/temas/extensiones sean compatibles con PHP 7 antes de actualizar.
  • Asegúrate de que las consultas de su base de datos estén usando mysqli o PDO_MySQL para conectarte, ya que la extensión mysql se ha eliminado. Consulta la sección Mi sitio no se conectará a mi base de datos después de actualizar a PHP 7 a continuación para obtener detalles.

PHP 7.3 Problemas conocidos

JIT compilation failed: no más errores de memoria

Si ves errores de "Error de compilación JIT: no más memoria o JIT compilation failed: no more memory" en tu sitio, esto se debe a un error conocido en PHP 7.3. Para evitar esto, puede deshabilitar el compilador JIT agregando la siguiente línea a tu archivo phprc:

pcre.jit = 0

Si necesitas ayuda para crear y/o modificar este archivo, consulta las siguientes instrucciones: ompiler agregando la siguiente línea a su archivo phprc:

Alternativamente, puedes actualizar a PHP 7.4 en tu panel DreamHost para evadir este error.

mcrypt.so

El soporte para mcrypt se ha eliminado a partir de PHP 7.2.0. Cualquier script que dependa de mcrypt deberá actualizarse para usar OpenSSL o Sodium.

Preguntas Frecuentes

¿Qué pasó con PHP 6?

Esta era una versión de desarrollo que nunca se convirtió en un lanzamiento oficial. Ve los siguientes enlaces para más información:

¿PHP 7 está disponible en máquinas Nginx?

Si.

Solución de problemas

Mi sitio no se conectará a mi base de datos después de actualizar a PHP 7

Las versiones anteriores de PHP ofrecían tres API de PHP para acceder a una base de datos MySQL. Ellos eran:

PHP 7 ha eliminado el soporte para la extensión mysql y afecta lo siguiente:

  • Cualquier consulta que use una función mysql_connect no funcionará.
  • PHP 7 solo permite conexiones a una base de datos MySQL usando mysqli o PDO_MySQL.

Todos los scripts deben actualizarse para continuar funcionando.

Errores de sesión

El siguiente error de PHP puede aparecer si tu código usa sesiones.

[Tue Jan 05 12:41:24.497212 2021] [fcgid:warn] [pid 16093:tid 4253425600256] [client xxx.xxx.xxx.xxx:11929] mod_fcgid: stderr: PHP Warning: session_start(): Failed to read session data: user (path: /home/username/tmp/) in /home/username/example.com/file.php on line 212

Mira la siguiente solución de PHP.net para obtener detalles sobre cómo resolver esta advertencia.

Ver también

 

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?