PHP imap函数不能在shell中工作,但在控制器/浏览器中工作。 (CakePHP 2.x)

时间:2012-07-02 12:52:42

标签: php cakephp imap

初步信息:

  1. CakePHP 2.x
  2. Ubuntu在localhost上使用XAMPP
  3. 作为网络应用程序的一部分,我制作了一个脚本,用于检查电子邮件收件箱中的新邮件。当有新消息时,脚本会将电子邮件正文写入数据库。所有这些代码都位于控制器中。我让脚本运行得很好,没有任何问题!

    我决定在 shell 中使用完全相同的代码,因此我可以设置一个cron作业来执行此任务,而不必通过Web浏览器访问该页面。将代码移植到shell脚本后,当我运行shell时出现错误:

    PHP Fatal error:  Call to undefined function imap_open()in /path/to/file.php on line 25.
    

    当然,显而易见的问题是“你的php配置中加载了imap函数吗?”对,他们是。 我很困惑为什么在通过浏览器访问控制器代码时使用imap函数没有问题,但是在使用shell时出现错误。

    有什么想法吗?

    提前致谢。

1 个答案:

答案 0 :(得分:0)

我猜你的命令行php不是用imap支持构建的,或者没有为cli php启用模块,请参阅http://ubuntuforums.org/showthread.php?t=977596。因此,请检查或使用imap支持编译cli或获取内置了imap支持的包。