【发布时间】:2014-07-24 06:02:53
【问题描述】:
我正在使用 class.phpmailer.php 从本地服务器发送电子邮件,它在我的本地服务器中处理良好,PHP 版本为 php5.3.4,但在我将 PHP 版本更新为 5.5.4 后,它显示以下消息:
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in class.phpmailer.php`
这是导致错误的行:
$encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e', "'='.sprintf('%02X', ord(stripslashes('\\1')))", $encoded);
【问题讨论】:
-
考虑到 PHP 版本的差异,这个错误非常简单。这意味着此版本中已弃用某些功能。在这种情况下 -
/e修饰符。错误消息中还提供了使用什么功能的建议。 -
更新 PHPMailer 可以解决这个问题。这是一个reported bug,已修复。
-
@ljacqu urgh,sourceforge :(
-
谢谢大家,现在我可以修复@ljacqu 告诉我删除
e -
sourceforge 项目早已死去; PHPMailer 现在是on Github。