Solución al error Deprecated: Function set_magic_quotes_runtime() con phpmailer

Si utilizas phpmailer y php 5.x o superior, te encontrarás con un error de la función set_magic_quotes que está obsoleta en versiones de php 5.6 o superior.

Sólo debes modificar 2 líneas de código en el archivo class.phpmailer.php que son (línea 1464 aproximadamente):

Código 1 – PHP

/* FUNCION QUE DARÁ ERRORES*/

if (PHP_VERSION < 6) {
$magic_quotes = get_magic_quotes_runtime();
set_magic_quotes_runtime(0);
}
$file_buffer = file_get_contents($path);
$file_buffer = $this->EncodeString($file_buffer, $encoding);
fclose($fd);
if (PHP_VERSION < 6) { set_magic_quotes_runtime($magic_quotes); }
return $file_buffer;
}

Código 2 – PHP

/* NUEVA FUNCION CORRECTA */

if (PHP_VERSION < 6) {
$magic_quotes = get_magic_quotes_runtime();
ini_set("magic_quotes_runtime", 0);
}
$file_buffer = file_get_contents($path);
$file_buffer = $this->EncodeString($file_buffer, $encoding);
fclose($fd);
if (PHP_VERSION < 6) { ini_set("magic_quotes_runtime", $magic_quotes); }
return $file_buffer;
}
Activar que se vean los errores de PHP

Para que se vean los errores de PHP deberá activar la directiva “display_errors” y para eso deberá agregar la siguiente línea al archivo .htaccess. Recuerde que si no posee dicho archivo, primero deberá crearlo con ese nombre en su directorio /public_html

Si usas PHP 5.6 (o anterior):

1
php_flag display_errors 1

Otra alternativa es usar:

1
2
php_flag log_errors on
php_flag display_errors on

Si usas PHP 7.2:

1
2
SetEnv PHP_VALUE "log_errors = On"
SetEnv PHP_ADMIN_VALUE "display_errors = On"

De esta manera en caso de que el código PHP genere un error, el mismo será mostrado por pantalla.

¿Qué es y para qué sirve el .htaccess?

Un fichero .htaccess (o lo que es lo mismo hypertext access) esp un tipo de archivo especial que se utiliza dentro de los alojamientos web que funcionan con servidores Apache, como por ejemplo los de WHOST. El fichero .htaccess permite modificar diferentes variables en la configuración de nuestra cuenta de alojamiento en el servidor.

Algunas de las utilidades de los .htaccess son las siguientes: limitar o bloquear el acceso a determinados directorios, crear URLs más amigables o fáciles de renocer, crear diferentes redirecciones, restringir el acceso a direcciones IP determinadas, evitar el hotlink, configurar el acceso la web con o sin www…

El fichero .htaccess estará alojado habitualmente en el directorio de publicación web de nuestro alojamiento, public_html.