我正在尝试从命令行运行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)。请问有人可以提供建议吗?
谢谢,
克里斯。
答案 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