提问人:sam 提问时间:7/25/2017 最后编辑:Peter Featherstonesam 更新时间:7/25/2017 访问量:85
PHP 脚本在 Mail() 后冻结
PHP Script freezes after Mail()
问:
PHP 脚本在通过网页运行时在命令后冻结,但在 SSH 上运行良好。mail()
页面只是永远加载,命令后没有任何执行,但是,该命令确实有效并发送电子邮件。mail()
mail()
问题可能出在哪里?
答:
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
评论