1

PHPMailer 有一个恼人的错误,无法弄清楚它的用途

邮件可以很好地发送,但我明白了:

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

有任何想法吗?

代码:

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

class.phpmailer.php 有 2000+ 行,显然我不能全部粘贴

4

4 回答 4

3

看起来您的 spl 自动加载为空,这就是它返回布尔值 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');
}
于 2013-09-14T11:59:36.097 回答
1

人们应该在 OP 上轻松一点……这是 PHPMailer 代码中的错误,而不是 OP 代码中的错误。接受的答案是修复 PHOMailer IITB 代码的解决方案。感谢您回答米哈尔斯克!

于 2013-11-23T20:52:42.967 回答
1

请参阅spl_autoload_functions 的文档

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

你需要先检查一下。

于 2013-09-14T11:56:17.267 回答
0

您的 spl_autoload_functions() 返回布尔值而不是数组。

它应该是一个数组。

于 2013-09-14T11:55:47.780 回答