PHP 脚本在 Mail() 后冻结

PHP Script freezes after Mail()

提问人:sam 提问时间:7/25/2017 最后编辑:Peter Featherstonesam 更新时间:7/25/2017 访问量:85

问:

PHP 脚本在通过网页运行时在命令后冻结,但在 SSH 上运行良好。mail()

页面只是永远加载,命令后没有任何执行,但是,该命令确实有效并发送电子邮件。mail()mail()

问题可能出在哪里?

PHP的

评论

9赞 treyBake 7/25/2017
我们将不得不看到代码。
3赞 ArtOsi 7/25/2017
你必须展示你的代码,否则没有人能够说出可能是什么问题
1赞 arkascha 7/25/2017
此外,您应该在问题中添加设置的简短描述。什么操作系统?php中的邮件设置是什么?php是如何集成的?
0赞 eselskas 7/25/2017
通过冻结,你看到了什么?错误 500 还是只是空白页?在我看来,好像没有回复被发送回去显示。但是,是的,让我们看看代码。还可以查看错误日志(我推测为 /var/log/apache2)。

答:

1赞 symcbean 7/25/2017 #1

这应该是一个评论,但它有点长。

您在这里没有提供足够的信息。

有人建议我们需要查看代码 - 如果您的描述是准确的,那么我们就不会,但是考虑到所提供信息的质量,谓词非常可疑。当您运行类似内容时会发生什么:

 <?php
 print "started<br />\n";
 while (ob_get_level()) ob_flush();
 flush();

 $result=mail('youruser@localhost', 'test', 'test');
 print "result=" . var_export($result, true);
 exit;

脚本的访问日志和错误日志显示什么?

您的 MTA 日志显示什么?

你的MTA是什么?

这在什么操作系统上运行?

但在 SSH 上运行良好

您的 CLI SAPI 是否使用与 Web 服务器相同的 php.ini 文件?

如果不是,各自的配置是什么?

您是否将 CLI 作为 Web 服务器 uid 运行?

(提示 - 这是您需要回答的 8 个问题,然后任何人都可以对这里发生的事情做出明智的猜测)

评论

0赞 sam 7/26/2017
MTA 是 Exim。在 3 个不同的浏览器上运行您的脚本 - 我第一次运行 - 打印出“开始”,然后页面永远加载 - 第 2、3 次 - 页面只是加载 - 没有打印输出 - 电子邮件已发送 - 现在查看 Exim 日志......我从未听说过 CLI SAPI - 我如何判断它使用哪个 php.ini 文件?
0赞 symcbean 7/26/2017
运行包含 phpinfo() 的脚本或使用 -i 开关从命令行启动 php
0赞 sam 7/26/2017
配置文件 (php.ini) 路径 /usr/local/lib 加载的配置文件 /usr/local/lib/php.ini