PHP imap_open() 命令行错误
我正在尝试从命令行运行 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
我在命令中包含了正确的 php.ini 和 -c /etc/php.ini
,以确保它使用与浏览器相同的 .ini 文件。 (这是我的 phpinfo(); 页面中所述的 .ini 路径)。
我正在运行 Apache2(Centos5.5) 和 PHP 5.2.6。有人可以建议吗?
谢谢你,
克里斯。
I am trying to run a PHP page from the command line which uses imap_open() to open an email inbox. The script works fine in the browser.
PHP Script:
$imap_stream = imap_open($host,$username,$pass);
Command:
php -c /etc/php.ini /home/public_html/inc/mailGet.php
Error:
PHP Fatal error: Call to undefined function imap_open() in /home/public_html/inc/mailGet.php on line 13
I included the correct php.ini with -c /etc/php.ini
in the command to make sure it was using the same .ini file as the browser. (this is the path to the .ini as stated in my phpinfo(); page).
I am running Apache2(Centos5.5) with PHP 5.2.6. Can anybody please advise?
Thank you,
Chris.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我发现使用 CLI-PHP 时有时需要在 php.ini 中定义扩展名。尝试将extension=imap.so添加到您的php.ini中,并仍然将其包含在您的命令中(-c /etc/php.ini)
我必须通过添加extension=mysql.so对mysql做同样的事情
即使扩展将显示在你的 phpinfo() 中;它并不总是在 CLI PHP 中加载。
I have found i need to define the extension sometimes in my php.ini when using CLI-PHP. Try adding extension=imap.so to your php.ini and still include it with your command (-c /etc/php.ini)
I had to do the same thing for mysql by adding extension=mysql.so
Even though the extension will show in your phpinfo(); it doesnt always load in CLI PHP.
IMAP 功能是一个扩展。根据手册,PHP需要使用
进行编译--with-imap[=DIR]
它似乎不适合你的情况。也许您的系统上有多个命令行
php
实例?作为最后一根稻草,如果 CLI PHP 无法配备所需的功能,我想您可以在 crontab 中执行 http 请求:
The IMAP functions are an extension. According to the manual, PHP needs to have been compiled with
--with-imap[=DIR]
it doesn't seem to be in your case.Maybe you have multiple instances of command line
php
on your system?As a last straw, if CLI PHP can't be equipped with the needed functions, I guess you could do a http request in your crontab: