命令行中的PHP imap_open()错误

时间:2011-02-28 17:09:24

标签: php command-line imap

我正在尝试从命令行运行PHP页面,该命令行使用imap_open()打开电子邮件收件箱。该脚本在浏览器中运行良好。

PHP脚本:

$imap_stream    = imap_open($host,$username,$pass);

命令:

php -c /etc/php.ini /home/public_html/inc/mailGet.php

错误:

PHP Fatal error:  Call to undefined function imap_open() in /home/public_html/inc/mailGet.php on line 13

我在命令中包含了带有-c /etc/php.ini的正确php.ini,以确保它使用与浏览器相同的.ini文件。 (这是我的phpinfo();页面中所述的.ini的路径。

我使用PHP 5.2.6运行Apache2(Centos5.5)。请问有人可以提供建议吗?

谢谢,

克里斯。

2 个答案:

答案 0 :(得分:1)

我发现在使用CLI-PHP时,我需要在php.ini中定义扩展。尝试将extension = imap.so添加到您的php.ini并仍然包含它与您的命令(-c /etc/php.ini)

我必须通过添加extension = mysql.so

为mysql做同样的事情

即使扩展名会显示在你的phpinfo()中;它并不总是在CLI PHP中加载。

答案 1 :(得分:0)

IMAP功能是一个扩展。根据{{​​3}},PHP需要使用--with-imap[=DIR]进行编译,它似乎不适合您。

也许您的系统上有多个命令行php实例?

作为最后一针,如果CLI PHP无法配备所需的功能,我想你可以在你的crontab中做一个http请求:

wget http://localhost/path_to_script.php