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



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

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

[SymfonyComponentDebugExceptionUndefinedFunctionException]
  Attempted to call function "imap_open" from namespace "CABMainBundleImap".

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

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

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

正确的方法是使用 php5.6 执行命令

php5.6 app/console parse:mailbox

最新更新