【发布时间】:2019-11-03 15:19:58
【问题描述】:
我正在尝试在弹性 beanstalk 环境中安装/启用 IMAP。 我安装了 IMAP 模块,如下面的命令所示(当通过 SSH 连接到 ec2 实例时)。
$ php -m | grep imap
PHP Warning: Module 'imap' already loaded in Unknown on line 0 imap
不确定警告是否与我看到的错误有关,但无论如何,IMAP 正在加载。
但是,当我在我的 PHP 代码中调用 imap_open() 时,我得到了这个错误:
PHP 致命错误:未捕获错误:调用未定义函数 imap_open()
我查看了this answer,但它已经有将近 10 年的历史了,并且查看其他问题(here 和 here)这并不像在 Linux 上向 php.ini 文件中添加一行那么简单。
【问题讨论】:
-
php -m不会告诉您是否编辑了正确的 php.ini(是的,不止一个 / 并且通常情况下:某些 SAPI 显然需要重新启动服务器)。 -
安装后是否重启了服务器 httpd 或 apache2 服务?首先重新启动服务器并检查。
-
我不确定您是否可以从 amazon-ec2 实例发送电子邮件...可能您必须使用他们的(“Amazon SES”)邮件服务提供商或类似服务提供商。
-
@YanDatsiuk 这是用于检索电子邮件。
-
嗨@Kevin Rock。对不起 - 你是对的。您能否尝试从脚本中输出启用的模块。您可以尝试,例如: die(phpinfo());只是为了确保您正在查看来自 web 服务器使用的 php 的信息......因为当您运行“php -m”时 - 它是 CLI 中启用的模块的列表。然后你现在是否启用 imap。
标签: php amazon-ec2 imap amazon-elastic-beanstalk