Debian
网络服务器升级到jessie
后,PHP邮件功能失败。软件版本是,
Apache2 : 2.4
Php : 5.6
Exim4: 4.8
此Web服务器有多个网站,我使用libapache2-mpm-itk
模块为不同的用户为每个网站运行php。因此未使用www-data
。
尝试使用php邮件功能发送电子邮件时出现以下错误。
unable to set gid=33 or uid=0 (euid=0): forcing real = effective
Sendmail路径是,
sendmail_path /usr/sbin/sendmail -t -i
它指向exim,
/usr/sbin/sendmail -> exim4
我找到http://blog.gaiterjones.com/send-php-mail-ubuntu-upgrade/的解决方案,当我使用itk
模块设置以下设置时,问题已解决,
LimitUIDRange 0 2000
但不建议像我这样允许root
用户使用共享服务器。
有更好的解决方案吗?
修改 我发现了一个未解决的错误报告。 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797653
谢谢!
答案 0 :(得分:0)
根据错误消息
无法设置gid = 33或uid = 0(euid = 0):强制real =有效
可能没有必要使用root
,第33组(可能是www-data
)也应该足够了。
因此,您应该可以使用LimitGIDRange 1 9999
代替LimitUIDRange
。
答案 1 :(得分:0)
我已经解决了这个问题。这里解释了实际问题https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=797653。
解决方案1:
您可以安装<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="a"></div>
<div id="b"></div>
<button id='start'>START</button>
<button id='stop'>STOP</button>
。安装ssmtp
时,Debian apt-get
会删除exim4
。因此,您必须将其配置为使用外部smtp服务器。
点ssmtp
发送邮件路径,如php
。这可能因不同的分布而不同。
解决方案2:
您可以安装sendmail_path /usr/bin/ssmtp -t -i
并将其配置为使用localhost smtp。见esmtp
。点/etc/esmtprc
发送邮件路径,如php
。这可能因不同的分布而有所不同。