试图从命名空间调用函数 "imap_open"

Attempted to call function "imap_open" from namespace

我创建了一个解析 IMAP 邮箱的 Symfony 命令。 IMAP 扩展已安装并启用。

当我执行命令时出现此错误:

[Symfony\Component\Debug\Exception\UndefinedFunctionException]
  Attempted to call function "imap_open" from namespace "CAB\MainBundle\Imap".

但是通过浏览器,我没有这个错误,imap_open执行没有错误。

为什么从控制台执行时 imap_open 不存在?

在服务器中,安装了两个 PHP 版本:PHP5.6 和 PHP7IMAP 扩展在 PHP 5.6 中启用,但在 PHP 7[ 中未启用=23=]。 因此,当我 运行 带有 php app/console parse:mailbox 的命令时,它会调用 PHP7 并且由于没有为 启用 imap 扩展PHP7 代码抛出 UndefinedFunctionException 异常

正确的做法是用php5.6

执行命令
php5.6 app/console parse:mailbox