最近发现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":[]}} 请求结束

邮件也收到了问题解决

如果觉得我的文章对你有用,请随意赞赏