0

初步资料:

  1. CakePHP 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.

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

有什么想法吗?

提前致谢。

蒂姆

4

1 回答 1

0

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

于 2012-07-02T13:30:25.367 回答