我有一台运行Apache 2.2和
PHP 5.3的CentOS 6.2虚拟机,我试图通过PHP的mail()函数发送电子邮件.我可以从CLI发送电子邮件没有问题,但是当PHP尝试失败时.在sendmail日志中如下:
Oct 9 11:42:03 localhost sendmail[3080]: NOQUEUE: SYSERR(apache): can not chdir(/var/spool/clientmqueue/): Permission denied
似乎Apache没有这样做的权限,但我不知道如何解决它.我已经发现了很多关于这个的讨论,但没有什么特别的,我正在做的,我可以使用.任何帮助将不胜感激.
谢谢!
首先你必须检查权限是否正确.以下是我系统中的权限
#ls -l /usr/sbin/sendmail.sendmail
-r-xr-sr-x root smmsp /usr/sbin/sendmail.sendmail
#ls -l / var / spool / clientmqueue
drwxrwx — smmsp smmsp / var / spool / clientmqueue
如果您的权限或所有权是错误的,请使用chown和chmod进行更改.
如果上面是正确的,那么禁用selinux,或者如果您希望启用selinux使用chcon来设置正确的selinux上下文.
对于禁用selinux暂时使用#setenforce 0