我创建了一个解析IMAP邮箱的Symfony命令。IMAP 扩展已安装并启用。
当我执行命令时,出现此错误:
[SymfonyComponentDebugExceptionUndefinedFunctionException]
Attempted to call function "imap_open" from namespace "CABMainBundleImap".
但是通过浏览器,我没有这个错误,imap_open
执行没有错误。
为什么从控制台执行imap_open
时不存在?
在服务器中,安装了两个PHP版本:PHP5.6和PHP7。IMAP 扩展在 PHP 5.6 中启用,但在 PHP 7 中未启用。因此,当我使用 php app/console parse:mailbox
运行命令时,它会调用 PHP7,并且由于未为 PHP7 启用 imap 扩展,因此代码会引发UndefinedFunctionException
异常
正确的方法是使用 php5.6 执行命令
php5.6 app/console parse:mailbox