Chinaunix首页 | 论坛 | 博客

rgy

  • 博客访问: 427156
  • 博文数量: 179
  • 博客积分: 2580
  • 博客等级: 少校
  • 技术积分: 1890
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-19 08:45
文章分类

全部博文(179)

文章存档

2012年(7)

2011年(43)

2010年(60)

2009年(69)

我的朋友

分类:

2009-11-27 18:13:38

  php mail
[问题]rhel5中mail()很慢--约60s,谢谢。
找到两篇类似的文章,没有解决。

*
*

现象:
1。php里面使用mail函数很慢,约60s才能执行完毕。
2。收件人可以收到邮件
3。Linux直接使用mail命令些邮件,很快就可以执行完毕。

环境:rhel5/apache2/php5/mysql/sendmail

个人认为这个时间是php.ini里面的60s超时,而mail函数没有得到返回值(true or false ),所以等60s没有得到返回值后,直接结束这行命令的。

CODE:
[root@xx mail]# php ~/mail.php
0.30792800 1212129029
OK.0.12686400 1212129090
[root@xx mail]# service sendmail stop
Shutting down sm-client:                                   [  OK  ]
Shutting down sendmail:                                    [  OK  ]
You have mail in /var/spool/mail/root
[root@xx mail]# php ~/mail.php      
0.18359200 1212129247
OK.0.01417100 1212129308

如下:
0.30792800 1212129029
OK.0.12686400 1212129090


mail.php:

QUOTE:

echo microtime()."\n";
if(!mail("xxxx@xxxx.xxx.xx","sda","dfa","dsfas"))
{
echo "Fail";
echo microtime()."\n";
}
else
{
echo "OK.";
echo microtime()."\n";
}

?>

大家遇到过么?有没有好的解决方案呢?谢谢。

昵称: sulfur  时间: 2008-06-01 21:33:00
microtime返回的是微秒吧.
昵称: wildlily980  时间: 2008-06-03 18:39:00
micro second
昵称: alexru  时间: 2008-06-03 20:07:00
检查
/etc/hosts
/etc/mail/local-host-names

两个内容要匹配
[问题]rhel5中mail()很慢--约60s,谢谢。
找到两篇类似的文章,没有解决。

*
*

现象:
1。php里面使用mail函数很慢,约60s才能执行完毕。
2。收件人可以收到邮件
3。Linux直接使用mail命令些邮件,很快就可以执行完毕。

环境:rhel5/apache2/php5/mysql/sendmail

个人认为这个时间是php.ini里面的60s超时,而mail函数没有得到返回值(true or false ),所以等60s没有得到返回值后,直接结束这行命令的。

CODE:
[root@xx mail]# php ~/mail.php
0.30792800 1212129029
OK.0.12686400 1212129090
[root@xx mail]# service sendmail stop
Shutting down sm-client:                                   [  OK  ]
Shutting down sendmail:                                    [  OK  ]
You have mail in /var/spool/mail/root
[root@xx mail]# php ~/mail.php      
0.18359200 1212129247
OK.0.01417100 1212129308

如下:
0.30792800 1212129029
OK.0.12686400 1212129090


mail.php:

QUOTE:

echo microtime()."\n";
if(!mail("xxxx@xxxx.xxx.xx","sda","dfa","dsfas"))
{
echo "Fail";
echo microtime()."\n";
}
else
{
echo "OK.";
echo microtime()."\n";
}

?>

大家遇到过么?有没有好的解决方案呢?谢谢。

昵称: sulfur  时间: 2008-06-01 21:33:00
microtime返回的是微秒吧.
昵称: wildlily980  时间: 2008-06-03 18:39:00
micro second
昵称: alexru  时间: 2008-06-03 20:07:00
检查
/etc/hosts
/etc/mail/local-host-names

两个内容要匹配
昵称: hightman  时间: 2008-06-03 20:31:00
solved

2/3楼请看



谢谢4楼。虽然没说到点子上。但是有些思路了。

这两个文件已经排除。问题处在hostname上。

昵称: sulfur  时间: 2008-06-03 23:14:00昵称: hightman  时间: 2008-06-03 20:31:00
solved

2/3楼请看



谢谢4楼。虽然没说到点子上。但是有些思路了。

这两个文件已经排除。问题处在hostname上。

昵称: sulfur  时间: 2008-06-03 23:14:00
阅读(510) | 评论(0) | 转发(0) |
0

上一篇:net use 使用

下一篇:vsftp

给主人留下些什么吧!~~