当我通过浏览器执行我的电子邮件脚本时,会返回超时致命错误(除非我大幅增加执行时间,那么它将运行正常,而不是我正在寻找的解决方案)。 电子邮件发送到,但它需要永远(平均5分钟)到达(在我的收件箱)!
(考虑到通过命令行它完美的作品我认为,在SMTP php.ini中肯定是配置好。)mail()超时问题
因此,这是由浏览器请求执行的代码:
<?php
mail('[email protected]', 'test subject', 'test body', 'From: Andre Matos <[email protected]>');
?>
,当我运行此相同的(?是不是真的一样,我开始怀疑自己)通过命令行代码:
php -r "mail('[email protected]', 'test subject', 'test body', 'From: Andre Matos <[email protected]>');"
它完美的作品!脚本运行,停止并且电子邮件立即到达(2/3秒)。
那么,什么会导致这种差异,以及如何解决它呢?有任何想法吗?
在此先感谢。
[编辑]一些额外的信息:
- 机器是windows
- 服务器为localhost
- php.ini文件是浏览器和CLI实例都相同
[编辑]
谢谢大家试图猜测哪个是问题。我提出了问题跳出来,以前有人遇到过这个问题,并且知道具体的事情。鉴于没有具体的东西出现,没有任何的建议真的起作用,我决定接受让我得出更多关于这个问题的结论的东西...... +1对于你所有有用的知识/想法(/猜测):-)
命令行和浏览器实际上使用了两个不同的php.ini文件。你可能想搜索php.ini并比较你的设置 – Patrick
这对我来说毫无意义;所以我检查:'php --ini'返回与浏览器相同的配置文件路径。 – acm
我假设sendmail_path也一样吗? – djdy