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

Artículo escrito por Diseño Web Coruña Martín Iglesias

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

28 de Abril de 2011 28,338 veces Ver comentarios

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

ADVERTENCIA: Este artículo tiene más de 6 meses de antigüedad. Puede que esta información ya se encuentre obsoleta o haya nuevas y mejores opciones.

Si utilizas phpmailer y php 5.3 o superior, te encontrarás con un error de la función set_magic_quotes que está obsoleta en esta versión de PHP.

Revisando la web de phpmailer, veo que no hay una versión superior que corrija este error, entonces, googleando un poco, me encontré con una solución en Foros del Web que me vino al pelo y como utilizo esta clase a menudo, conviene tener a mano.

Sólo debes modificar 2 pequeñas 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;
}

Acerca del Autor:

Martín Iglesias, diseño web freelance de A Coruña, especializado en maquetación css y desarrollo de páginas web a medida con más de 18 años de experiencia en el desarrollo de páginas web profesionales. Si te ha gustado este artículo, por favor, ayúdanos a difundirlo compartiéndolo con tus amigos y contactos en las distintas redes sociales que utilices. ¡Muchas gracias!