【问题标题】:PHP Fatal error: Call to undefined function imap_rfc822_parse_adrlist()PHP 致命错误:调用未定义函数 imap_rfc822_parse_adrlist()
【发布时间】:2026-02-22 07:50:02
【问题描述】:

我在 drupal 7 cms 下导入了一个 webproject,我在终端中使用 drush 发送电子邮件时遇到此错误,键入此命令 (drush queue-mail-send-all):

$ drush queue-mail-send-all
PHP Fatal error:  Call to undefined function imap_rfc822_parse_adrlist() in C:\wamp\www\example.com\sites\all\modules\
custom\example\example.module on line 96
PHP Stack trace:
PHP   1. {main}() C:\ProgramData\Drush\drush.php:0
PHP   2. drush_main() C:\ProgramData\Drush\drush.php:16
PHP   3. _drush_bootstrap_and_dispatch() C:\ProgramData\Drush\drush.php:61
PHP   4. drush_dispatch() C:\ProgramData\Drush\drush.php:92
PHP   5. call_user_func_array() C:\ProgramData\Drush\includes\command.inc:182
PHP   6. drush_command() C:\ProgramData\Drush\includes\command.inc:182
PHP   7. _drush_invoke_hooks() C:\ProgramData\Drush\includes\command.inc:214
PHP   8. call_user_func_array() C:\ProgramData\Drush\includes\command.inc:362
PHP   9. drush_queue_mail_send_all() C:\ProgramData\Drush\includes\command.inc:362
PHP  10. queue_mail_send() C:\wamp\www\example.com\sites\all\modules\contrib\queue_mail\queue_mail.drush.inc:58
PHP  11. HTMLMailSystem__SmtpMailSystem->format() C:\wamp\www\example.com\sites\all\modules\contrib\queue_mail\queue_mail.module:102
PHP  12. HTMLMailSystem->format() C:\wamp\www\example.com\sites\default\files\mailsystem\HTMLMailSystem__SmtpMailSystem.mail.inc:20
PHP  13. theme() C:\wamp\www\example.com\sites\all\modules\contrib\htmlmail\htmlmail.mail.inc:51
PHP  14. example_preprocess_htmlmail() C:\wamp\www\example.com\includes\theme.inc:1122

Fatal error: Call to undefined function imap_rfc822_parse_adrlist() in C:\wamp\www\example.com\sites\all\modules\custom\example\example.module on line 96

Call Stack:
    0.0010     152632   1. {main}() C:\ProgramData\Drush\drush.php:0
    0.1120    1764552   2. drush_main() C:\ProgramData\Drush\drush.php:16
    1.7801    4843496   3. _drush_bootstrap_and_dispatch() C:\ProgramData\Drush\drush.php:61
   58.5523   40781840   4. drush_dispatch() C:\ProgramData\Drush\drush.php:92
   61.0695   40787544   5. call_user_func_array() C:\ProgramData\Drush\includes\command.inc:182
   61.0695   40787640   6. drush_command() C:\ProgramData\Drush\includes\command.inc:182
   61.0705   40787800   7. _drush_invoke_hooks() C:\ProgramData\Drush\includes\command.inc:214
   61.0895   40819048   8. call_user_func_array() C:\ProgramData\Drush\includes\command.inc:362
   61.0895   40819144   9. drush_queue_mail_send_all() C:\ProgramData\Drush\includes\command.inc:362
   61.2285   40873112  10. queue_mail_send() C:\wamp\www\example.com\sites\all\modules\contrib\queue_mail\queue_mail.drush.inc:58
   61.2315   40874976  11. HTMLMailSystem__SmtpMailSystem->format() C:\wamp\www\example.com\sites\all\modules\contrib\queue_mail\queue_mail.module:102
   61.2315   40875000  12. HTMLMailSystem->format() C:\wamp\www\example.com\sites\default\files\mailsystem\HTMLMailSystem__SmtpMailSystem.mail.inc:20
   61.2315   40876840  13. theme() C:\wamp\www\example.com\sites\all\modules\contrib\htmlmail\htmlmail.mail.inc:51
   90.3282   58206648  14. example_preprocess_htmlmail() C:\wamp\www\trustedco

Drush command terminated abnormally due to an unrecoverable error.
m[error]?[0m
Error: Call to undefined function imap_rfc822_parse_adrlist() in
C:\wamp\www\example.com\sites\all\modules\custom\example\example.module

-i 可以使用普通的 php 功能发送电子邮件。 -i 在 php.ini 中启用 imap。 -i 在 wamp 设置中启用 impap 作为 php 扩展。 -我的 php 版本是:5.4.16 -我的 apache 版本是:2.4.4 - 我正在使用 wamp 服务器 64 X - 我的操作系统 windows 7:64 位

我试图用谷歌搜索这个错误 3 天,但我没有找到有用的东西

【问题讨论】:

  • 启用扩展后是否重启了PHP? (重启 Apache)
  • @N A T H sur i 用所有服务重新启动我的服务器,甚至我的电脑我正在尝试从 3 天开始解决这个问题

标签: php apache wamp imap drush


【解决方案1】:

我得到了解决方案:

我正在使用 WAMP 服务器运行 Windows 7 64 位环境,它有两个 php.ini 文件:

  1. C:\wamp\bin\apache\apache2.4.4\bin
    通过删除字符串开头的; 来启用php_imap.dll 扩展

  2. C:\wamp\bin\php\php5.4.16
    通过删除字符串开头的; 来启用php_imap.dll 扩展

【讨论】:

  • C:\wamp\bin\apache\apache2.4.4\bin\php.ini 上的版本实际上是 Apache 使用的 C:\wamp\bin\php\php5.4.16\phpForApache.ini 的 SYMLINK。 C:\wamp\bin\php\php5.4.16\php.ini 中的版本由 PHP CLI(命令行界面)使用
最近更新 更多