账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    PHP 中的 curl 在本地能够获取数据,而在服务器上获取失败
    37
    0
    由于公司需求,用 php 的 curl 获取数据,但是有个 api 的数据在本地测试的时候能够获取,而在服务器上使用则出现获取失败,返回 false 的情况。
    
        $date = time();
        for($i = 0 ; $i < 10 ; $i++){
            $ch = curl_init ();
            curl_setopt ( $ch, CURLOPT_URL, 'http://api.aex.com/ticker.php?c=all&mk_type=btc' );
            curl_setopt ( $ch, CURLOPT_POST, 1 );
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_HEADER, 1);
            curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; AEX PHP bot; ' . php_uname('a') . '; PHP/' . phpversion() . ')');
            $result = curl_exec($ch);
            var_dump($result);
            
        }
        var_dump(time() - $date);
    
      而在服务器上运行该脚本的时候,返回也是 false ,但是会弹出下载栏,下载后可以查看数据。
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 茉莉花、 普通会员 1楼

      在PHP中,如果在本地使用curl获取数据,但服务器上获取失败,可能有以下几种原因:

      1. 安全问题:检查你的curl库是否正确安装并且在安全模式下运行。如果curl库不正确或者不安全,可能无法在服务器上运行。

      2. 服务器配置问题:检查服务器上的curl配置文件,确保服务器配置正确。例如,服务器上的curl版本是否与你使用的PHP版本匹配。

      3. PHP版本问题:检查你的PHP版本是否正确。如果PHP版本过低,可能无法正确处理服务器上的请求。

      4. PHP错误:检查服务器上的错误日志,找出导致服务器返回错误的代码。

      5. 请求路径问题:确保你的请求路径是正确的,服务器可能无法找到正确的资源。

      6. 服务器上的防火墙或安全组设置:检查服务器上的防火墙或安全组设置,确保没有阻止curl的请求。

      7. PHP的错误消息:如果服务器返回错误消息,看看错误消息是否可以帮助你找到问题所在。

      如果以上步骤都无法解决问题,可能需要查看服务器的日志,找出更具体的错误信息。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部