ueditor上传图片至第三方图床的错误排查笔记

作者: wxfeng 分类: web前端 发布时间: 2017-03-28 00:00    阅读 11 次

    近日网站图床不太稳定,图片时常不显示,所以准备换一个图床来进行网站图片的存储;
    为了使后台文本编辑器(ueditor)上传图片时完美对接第三方图片存储平台,第三方图片存储平台选择了贴图库,因为其官网提供有现成的ueditor插件,对接起来相对方便。
    但是在按照他们官网的说法配置后,并无效果,图片能上传到服务器,但是无法存储至贴图库相册。刚开始以为是插件的问题,咨询技术客服后技术说没有问题,但是我真边就是不成功。
    屡次寻求帮助无果,于是想应该是自己这边的问题,接下来就开始测试,从点击上传到最后执行上传,中间的程序,一步步打印返回结果,最后,锁定到了curl
执行上传的步骤,如下代码所示,该函数总返回false,通过网络上提供的打印详细错误信息的方法,在$output =
curl_exec($ch);之后添加如语句:var_dump(curl_error($ch));exit;打印出了详细的错误信息:string(38)
"Couldn't resolve host 'up.tietuku.com'"
,不能解析域名,一瞬间:恍然大悟,悲喜交加:因为服务器设置的防火墙规则里设置了禁止服务器访问别的网站,所以才出现了上面的错误。前前后后断断续续做了4天,没想到问题出在了这里,小问题,但是却很要命。故作此文,以自醒。。。

    /**
     * 对接口post数据
     *
     *
     * @access public
     * @param string $url 接口请求地址。
     * @param array $data 需要post的数据
     * @return string 返回的json数据
     */
    function post($url,$post_data){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT,30);  
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        $output = curl_exec($ch);
        curl_close($ch);
        var_dump(curl_error($ch));exit;
        return $output;
    }

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注