请注意,本文编写于 2093 天前,最后修改于 2093 天前,其中某些信息可能已经过时。
最近发现CommentToMail日志报错如下
开始发送请求:https://www.529i.com/action/comment-to-mail?send=xxx
Socket 方式发送
请求结束
根本发不出去邮件测试发件又没有问题 气的都想打人
然后各种Google 百度根本没用
然后自己看代码
在Plugin.php
文件295行
/**
* 发送异步请求
* @param $url
*/
public static function asyncRequest($url)
{
self::isAvailable();
self::$_adapter == 'Socket' ? self::socket($url) : self::curl($url);
}
默认使用Socket发信作者 已经封装好了curl
直接把self::$_adapter == 'Socket'
改为Curl
然后又报错了 如下
开始执行异步请求
Curl 方式发送
Curl:
cURL error (28): Timeout was reached
请求结束
发现curl执行超时
在Plugin.php
文件349行
/**
* Curl 请求
* @param $url
*/
public static function curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 将curl_exec()获取的信息以文件流的形式返回,不直接输出。
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1); // 连接等待时间
curl_setopt($ch, CURLOPT_TIMEOUT, 1); // curl允许执行时间
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, TRUE); // 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11"); //设置浏览器标识
发现作者只给了1秒直接加个0改为10秒
日志如下
开始执行异步请求
Curl 方式发送
Curl:{"result":true,"amount":1,"success":{"amount":1,"id":["31"]},"fail":{"amount":0,"id":[]}}
请求结束
邮件也收到了问题解决
1 条评论
流淌的命运之河的终点,也许在这一刻就被决定好了。