PHP mail() / sendmail 自 Apache 2.4 PHP7 升级后无法正常工作
PHP mail() / sendmail not working since Apache 2.4 PHP7 upgrade
自从升级到 PHP7 我服务器上使用 PHP 邮件功能的每个脚本都不再有效 :-(
同时,我也从Apache 2.2升级到了2.4,感觉这可能是问题所在。
我的 php.ini 文件包含:
sendmail_path = /usr/sbin/sendmail -t -I
如果我从命令行尝试,Sendmail 确实会发送电子邮件,所以我知道它可以正常工作。我发现一个错误,我认为可能与 exim_paniclog:
中的 Apache 和权限有关
unable to set gid=995 or uid=0 (euid=0): forcing real = effective
我希望有人可能遇到过这个问题,并且可能会为我提供一些启示。提前致谢!
尝试三件事:
1) 在 exim 中,设置 trusted_users = apache
(或任何您的 Web 服务器用户)。
2) 尝试关闭 SELinux 并重新启动一切。如果它现在可以工作,但以前没有工作,那么您将需要禁用 SELinux 或了解如何配置它以允许您需要的东西。
3) 见 http://blog.gaiterjones.com/send-php-mail-ubuntu-upgrade/。
在 /etc/apache2/mods-available/mpm_prefork.conf 模块配置中将 ITK MPM 模块 LimitGIDRange 参数显式定义为类似
的内容
LimitUIDRange 0 2000
自从升级到 PHP7 我服务器上使用 PHP 邮件功能的每个脚本都不再有效 :-(
同时,我也从Apache 2.2升级到了2.4,感觉这可能是问题所在。
我的 php.ini 文件包含:
sendmail_path = /usr/sbin/sendmail -t -I
如果我从命令行尝试,Sendmail 确实会发送电子邮件,所以我知道它可以正常工作。我发现一个错误,我认为可能与 exim_paniclog:
中的 Apache 和权限有关unable to set gid=995 or uid=0 (euid=0): forcing real = effective
我希望有人可能遇到过这个问题,并且可能会为我提供一些启示。提前致谢!
尝试三件事:
1) 在 exim 中,设置 trusted_users = apache
(或任何您的 Web 服务器用户)。
2) 尝试关闭 SELinux 并重新启动一切。如果它现在可以工作,但以前没有工作,那么您将需要禁用 SELinux 或了解如何配置它以允许您需要的东西。
3) 见 http://blog.gaiterjones.com/send-php-mail-ubuntu-upgrade/。 在 /etc/apache2/mods-available/mpm_prefork.conf 模块配置中将 ITK MPM 模块 LimitGIDRange 参数显式定义为类似
的内容LimitUIDRange 0 2000