PHP Mailer数组错误

时间:2013-09-14 11:47:05

标签: php email

与PHPMailer有一个恼人的错误,无法确定它是什么

邮件发送得很好,但我明白了:

Warning: in_array() expects parameter 2 to be array, boolean given in /dir/class.phpmailer.php on line 574

有什么想法吗?

CODE:

if (!in_array('PHPMailerAutoload', spl_autoload_functions())) {
  require 'PHPMailerAutoload.php';
  }

class.phpmailer.php长达2000多行,显然我无法将其全部粘贴

4 个答案:

答案 0 :(得分:3)

看起来你的spl autoload是空的,这就是为什么它返回一个boolean,false。 http://php.net/manual/en/function.spl-autoload-functions.php

尝试以下方法:

if (!spl_autoload_functions() OR (!in_array('PHPMailerAutoload', spl_autoload_functions()))) {
  require_once('PHPMailerAutoload.php');
}

答案 1 :(得分:1)

请参阅spl_autoload_functions的documentation

  

如果未激活自动加载堆栈,则返回值为FALSE。

您需要先检查一下。

答案 2 :(得分:1)

在OP上人们应该有点容易...这是PHPMailer代码中的错误,而不是OP的代码中的错误。接受的答案是修复PHOMailer IITB代码的解决方案。谢谢你回答它Michal-sk!

答案 3 :(得分:0)

你的spl_autoload_functions()返回boolean not array。

它应该是一个数组。