我要投稿
  • 您当前的位置:365bet官方 -> 技术教程 -> 服务器网络 -> 服务器教程 -> 邮件服务器教程 -> 教程内容
  • [ 收藏本页教程 ]
  • [原]igenus发信528错误的原因和解决方法。邮件服务器教程

    教程作者:佚名    教程来源:不详   教程栏目:邮件服务器教程    收藏本页
                  摘要:[原]igenus发信528错误的原因和解决方法。
    很多人装igenus都会有发邮件不了,显示 :
    “Warning: mail() is not supported in this PHP build in /var/www/igenus/include/send_fun.php on line 528”的错误

    先检查/usr/sbin/sendmail权限应该是777(/usr/sbin/sendmail应该是链接到/qmail安装目录/bin/sendmail,此文件权限应该是755),/tmp权限应该是777,如果这样还不行,应该是php环境错误,检查php环境:
    在你的apache的DocumentRoot目录下写个php文件(如test.php):
    <?
    phpinfo();
    ?>
    保存,退出,修改文件权限,然后运行“ http://x.x.x.x/test.php ;”
    可以看到php的安装支持环境,正常情况下,“standard”环境应该有三项:
    Regex Library  Bundled library enabled  
    Dynamic Library Support  enabled  
    Path to sendmail  /usr/sbin/sendmail -t -i  
    而发信出错的php环境只有两项:
    Regex Library  Bundled library enabled  
    Dynamic Library Support  enabled  

    “Path to sendmail  /usr/sbin/sendmail -t -i  ”这一项没有。

    另外,发信出错的php环境不能正常识别“sendmail_path ”(在前面PHP Core表里),正常的应该是:
    “sendmail_path  /usr/sbin/sendmail -t -i   /usr/sbin/sendmail -t -i  ”。

    sendmail_path 可以在php.ini里面修改,但是改也没有用,还是会出错,唯一途径只能重装php,如果是php4.2.3的php4,装新版本的php4(如php4.3.0等),如果是php4.3以上出现这个问题,要把原来安装的php4文件删除,重装,还是不行的话换不同版本的php4试试(如:原来的是php 4.3.0的则装php 4.3.2RC3,如果是php 4.3.2RC3 则换装php 4.3.0等),重装的时候要停apache

    只能多装几次,直到安装正确为止。

    php4环境出错问题很普遍,也很讨厌,开始的时候先装mysql+Qmail+apache+php4 并检查php4环境,调试到php4环境正常才往下做,这样会不会容易些????


    发现php4环境问题的过程:
    我装第一台igenus的时候用的是php 4.2.3,就出现这个问题,后来重装php4.3.2RC2就正常了,但我还不明白出错的原因。
    装第二台igenus的时候直接用php4.3.2RC2,可还是出现这个问题,通过对比php4环境才发现问题的原因,不过我直接覆盖重装并不能解决问题。最后我把php4删除,换版本装才搞定。

     xmy 回复于:2003-05-22 08:28:03我怀疑安装php没有sendmail支持环境和系统有关。
    我的linux默认的邮件系统是postfix,而RH7.3以上用的也不是sendmail,是postfix,这些系统装apache+php的时候,php找不到sendmail环境,就缺少Path to sendmail 支持,会不会是这样呢?如果是的话,装php的时候先弄个“sendmail”上去(比如在装php前先装好qmail),这样php支持环境就会正常?
    麻烦大家多试试。

     hmkart 回复于:2003-05-22 13:04:55最后一步呀
    也被这个问题捆饶.
    现在正在重装php中。........

     haiwei 回复于:2003-05-26 20:39:27我在redhat 8上装过php.4.3.tar.gz 的包没有配置成功过,后来用系统带的包倒可以了可能跟设置的路径有关系

     netloafer 回复于:2003-05-27 11:35:01[quote:df489997c5="xmy"]我怀疑安装php没有sendmail支持环境和系统有关。
    我的linux默认的邮件系统是postfix,而RH7.3以上用的也不是sendmail,是postfix,这些系统装apache+php的时候,php找不到sendmail环境,就缺少Path to sendmail 支..........[/quote:df489997c5]

    应该不是这个问题,在7.3以上的版本的linux上/usr/lib/sendmail也是一个link,可以通过redhat-switchmail来选择,改变的是这个link文件的指向。

     xmy 回复于:2003-05-27 15:42:38偶一开始做就把sendmail、postfix卸载的干干净净,php的sendmail环境支持不正常也不奇怪。出现528错误的朋友可以看看php环境,是不是我的理论。

     sunnly 回复于:2003-05-27 16:29:36igenus+qmail 效果较好~~

     firebird 回复于:2003-05-28 10:46:45支持,我重新安装了一下,可以了,谢谢。

     hss202 回复于:2003-06-12 13:06:34我的也是这样,再装一次PHP就行了
    PHP431,也是装回来的版本,没有删,直接装

     artxing 回复于:2003-07-23 12:41:01重装php-4.3.0时出现这个错误

    /home/software/php-4.3.0/ext/mysql/libmysql/my_lib.c:169: undefined reference to `errno'
    ext/mysql/libmysql/my_lib.lo(.text+0x5ef): In function `my_stat':
    /home/software/php-4.3.0/ext/mysql/libmysql/my_lib.c:588: undefined reference to `errno'
    ext/mysql/libmysql/my_malloc.lo(.text+0xde): In function `my_malloc':
    /home/software/php-4.3.0/ext/mysql/libmysql/my_malloc.c:24: undefined reference to `errno'
    ext/mysql/libmysql/my_realloc.lo(.text+0xd5): In function `my_realloc':
    /home/software/php-4.3.0/ext/mysql/libmysql/my_realloc.c:44: undefined reference to `errno'
    ext/mysql/libmysql/my_delete.lo(.text+0x86): In function `my_delete':
    /home/software/php-4.3.0/ext/mysql/libmysql/my_delete.c:16: undefined reference to `errno'
    ext/mysql/libmysql/my_tempnam.lo(.text+0x89):/home/software/php-4.3.0/ext/mysql/libmysql/my_tempnam.c:108: more undefined references to `errno' follow
    collect2: ld returned 1 exit status
    make: *** [sapi/cli/php] Error 1

     gadfly 回复于:2003-07-23 19:10:47是redhat 9上吧。

    是因为和新的glibc不兼容造成的。

    看看这个吧。似乎新的CVS中已经解决了
    http://bugs.php.net/bug.php?id=22346

     artxing 回复于:2003-07-23 22:01:57嗯.gadfly太厉害了,这些问题都能找到解决方法.我都不知道在那里查

     gadfly 回复于:2003-07-23 22:26:49呵呵google是个好东西。

    只要关键字对,有的东西基本上能查到的

     lightwiter 回复于:2003-09-09 20:46:47我是装了一个4.33rc1才OK的

     beck2000 回复于:2003-10-11 19:38:42可接收外部邮件了,发信也没错误,但对方就是收不到,发给自己也不行
    我看了php.ini,l
    发现sendmail路径是/usr/sbin/sendmeil
    就尝试
    ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

    重启httpd后,还是同样情况。如果不重装php可有什么方法?

     sunki 回复于:2005-08-09 02:03:00php编译的问题,你的系统里面应该没有安装sendmail,如果没有sendmail,php在编译时默认不编译mail()函数的。 

    解决方法: 
    在编译php时加上--with-mail,强制编译mail()函数

    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.www.ct131.com All Rights Reserved.365bet官方 版权所有