15 nov. 2019

Las nuevas versiones de PHP y porque se produce la falla PHP Fatal error: Uncaught Error: Call to

Wilmer Barrios | viernes, noviembre 15, 2019 | | | | |

El sitio oficial de PHP publica el timeline de las versiones con soporte y las que han quedado obsoletas, cada vez que sale una versión nueva por lo general existen cambios en las características, funciones, clases, constantes y extensiones. 

Antes de realizar el cambio de PHP en su Hosting, debes realizar una migración en el código fuente del sitio web, realizar pruebas offline de preferencia en un entorno de pruebas puede ser en el mismo servidor pero en otra ruta clonando los archivos, para luego colocarlo en un entorno de producción. 

Si quieres "Migrar de PHP 5.6.x a PHP 7.0.x" entonces debes ir al siguiente enlace: https://www.php.net/manual/es/migration70.php

Para migrar de PHP 7.3.x a PHP 7.4.x entonces debes ir al siguiente enlace: https://www.php.net/manual/es/migration74.php. Puntos que debes tomar en cuenta:

  • Nuevas características
  • Nuevas clases e interfaces
  • Nuevas funciones
  • Nuevas constantes globales
  • Cambios incompatibles hacia atrás
  • Características en desuso
  • Extensiones eliminadas
  • Otros cambios
  • Soporte de Windows

Es importante mantener actualizado el sitio web a las versiones estables y con soporte, que no estén en esa linea roja del timeline (obsoleto) ya que por lo general los sistemas antiguos son atacados y fácilmente vulnerados.

Errores más comunes al cambiar una versión de PHP: Error 500

Para ver exactamente cual es el error producido se debe activar el display_error una vez activado se puede observar desde la web que falla esta produciendo al momento de cargar un sitio web con una versión diferente de PHP.

Un error común es el siguiente:

PHP Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /home/cuenta/public_html/wp-includes/wp-db.php

Este error es producido al momento de cambiar una versión de PHP 5.6 a la 7.3. En este caso indica que en el archivo wp-db.php esta haciendo un llamado a una función indefinida, en realidad es que la nueva versión de PHP no reconoce mysql_connect() ya que esta ha cambiado en versiones anteriores y ha quedado obsoleta, para buscar el reemplazo de esta función pueden buscarla en la página oficial de PHP: https://www.php.net/manual/es/function.mysql-connect.php

Hay otros errores que se pueden producir al momento de hacer un cambio de versión en el hosting, lo más recomendable es que ver el archivo error_log ubicado en la carpeta public_html o en el directorio raíz donde se encuentran los archivos web, luego se debe analizar el error, buscar alternativas de reemplazos en su mayoría todas están en el manual de PHP.net.

Share this article
 
Copyright © 2017 MyBiosWeb
Distributed By My Themes | Template Design By BioHosting