脚本在 100 万后损坏,状态失败,使用 AWS SES 发送电子邮件时 PHP-Apache

环境(共享主机):

Versión Apache 2.4.41

Versión PHP 7.0.1

Versión MySQL 10.0.38-MariaDB-cll-lve

PHPMailer 6.1.4

我通过 PHPMailer 使用 AWS SNS SMTP 服务发送电子邮件,- 所有配置都很好 - 我进行了测试并运行良好(1 或 2 条消息),因此,在生产环境中,我每 5 分钟发送 100 封电子邮件(不是垃圾邮件),但在 100 万次之后,scrip 被破坏了。我在日志和屏幕中没有任何错误消息,我只可以在控制台中看到脚本在1m后损坏,正文为空。(下图)

http://img2.mukewang.com/62ecce8500015dfd19120546.jpg

笔记


如果我每次只发送50封电子邮件,脚本就不会损坏。


如果我运行以下脚本:


for($i = 1; $i < 131; $i++){

  echo $i.'<br>';

  sleep(1);

}

我得到:


错误 500 请求超时 此请求的处理时间太长,服务器会将其超时。如果不应超时,请联系本网站的管理员以增加“连接超时”。


2米后。


我在脚本中有以下配置

error_reporting(E_ALL);

ini_set("display_errors", 1);

ini_set('memory_limit', '-1');

ini_set('max_execution_time', 12000);

ignore_user_abort(TRUE);

ini_set("default_socket_timeout", 6000);

我有以下代码.htaccess

php_value default_socket_timeout 6000

TimeOut 6000

我尝试了此处提到的更改,但不起作用。


白猪掌柜的
浏览 97回答 1
1回答

白衣非少年

最后,在搜索了很多选项之后,我找到了解决方案。此解决方案是关于 Litespeed 的特殊配置。在所有请求的根目录中添加.htaccessRewriteRule&nbsp;.*&nbsp;-&nbsp;[E=noabort:1] RewriteRule&nbsp;.*&nbsp;-&nbsp;[E=noconntimeout:1]运行没有超时的 PHP - Litespeed Doc
打开App,查看更多内容
随时随地看视频慕课网APP