我创建了一个解析IMAP邮箱的Symfony命令。 已安装并启用IMAP扩展。
执行命令时出现此错误:
[Symfony\Component\Debug\Exception\UndefinedFunctionException]
Attempted to call function "imap_open" from namespace "CAB\MainBundle\Imap".
但是通过浏览器,我没有出现此错误,imap_open
执行时没有错误。
为什么imap_open
从控制台执行时不存在?
答案 0 :(得分:2)
在服务器中,安装了两个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