PHP imap 函数在 shell 中不起作用,但在控制器/浏览器中工作.(蛋糕PHP 2.x)


PHP imap functions not working in a shell, but working in controller/browser. (CakePHP 2.x)

初步信息:

  1. 蛋糕 2.x
  2. Ubuntu 在本地主机上使用 XAMPP

作为 Web 应用程序的一部分,我制作了一个脚本来检查电子邮件收件箱中的新邮件。 当有新邮件时,脚本会将电子邮件正文写入数据库。 所有这些代码都位于控制器中。 我让脚本工作得很好,完全没有问题!

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

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

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

有什么想法吗?

提前谢谢。

提姆

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