dongzen7263 2012-03-25 19:23
浏览 39
已采纳

Codeigniter Curl Library在服务器更改后无法正常工作

I implemented a function which connects to a merchant using the curl library for Codeigniter http://codeigniter.com/wiki/Curl_library. I finished the implementation and everything worked perfectly. However we now transfered the application to a Local Server. fresh installation of: Ubuntu Server 11.10 Php 3.5.6 Mysql 5.1 Apache 2

I'm using a static Ip configuration and I can connect to the internet. Using terminal I can ping sites like google, yahoo etc, however I cant Ping www.veripayment.com. I can open the website from other computers in the same network. But my ubuntu server cant.

Please keep in mind this works in our server.

<?php
    $post_str = "action=payment&business="
    .urlencode($this->input->post('business'))
    ."&vericode=".urlencode($this->input->post('vericode'))
    ."&item_name=".urlencode($this->input->post('item_name'))
    ."&item_code=".urlencode($this->input->post('item_code'))
    ."&quantity=".urlencode($this->input->post('quantity'))
    ."&amount=".urlencode($this->input->post('amount'))
    ."&cc_type=".urlencode($this->input->post('cc_type'))
    ."&cc_number=".urlencode($this->input->post('cc_number'))
    ."&cc_expdate=".urlencode($this->input->post('cc_expdate_year')).urlencode($this->input->post('cc_expdate_month'))
    ."&cc_security_code=".urlencode($this->input->post('cc_security_code'))
    ."&shipment=".urlencode($this->input->post('shipment'))
    ."&first_name=".urlencode($this->input->post('first_name'))
    ."&last_name=".urlencode($this->input->post('last_name'))
    ."&address=".urlencode($this->input->post('address'))
    ."&city=".urlencode($this->input->post('city'))
    ."&state_or_province=".urlencode($this->input->post('state_or_province'))
    ."&zip_or_postal_code=".urlencode($this->input->post('zip_or_postal_code'))
    ."&country=".urlencode($this->input->post('country'))
    ."&shipping_address=".urlencode($this->input->post('shipping_address'))
    ."&shipping_city=".urlencode($this->input->post('shipping_city'))
    ."&shipping_state_or_province=".urlencode($this->input->post('shipping_state_or_province'))
    ."&shipping_zip_or_postal_code=".urlencode($this->input->post('shipping_zip_or_postal_code'))
    ."&shipping_country=".urlencode($this->input->post('shipping_country'))
    ."&phone=".urlencode($this->input->post('phone'))
    ."&email=".urlencode($this->input->post('email'))
    ."&ip_address=".urlencode($this->input->post('ip_address'))
    ."&website_unique_id=".urlencode($this->input->post('website_unique_id'));

    // Send URL string via CURL
    $backendUrl = "https://www.veripayment.com/integration/index.php";
    $this->curl->create($backendUrl);
    $this->curl->post($post_str);
    $return = $this->curl->execute();

    $result = array();
    // Explode array where blanks are found
    $resparray = explode(' ', $return);

    if ($resparray)
    {
        // save results into an array
        foreach ($resparray as $resp) {
            $keyvalue = explode('=', $resp);
            if(isset($keyvalue[1])){
                $result[$keyvalue[0]] =  str_replace('"', '', $keyvalue[1]);
            }
        }
    }
    return $result;
?>
  • 写回答

1条回答 默认 最新

  • dongzhang1875 2012-03-25 21:53
    关注

    What is the ping response code?

    Try raw curl like so. Then check your error log for possible solution

    $url = "https://www.veripayment.com/integration/index.php";
            $ch = curl_init();
            curl_setopt_array($ch, array(
                CURLOPT_URL => $url,
                CURLOPT_POST => TRUE,
                CURLOPT_POSTFIELDS => http_build_query($this->input->post()),
                CURLOPT_RETURNTRANSFER => TRUE,
                CURLOPT_HEADER => FALSE,
                CURLOPT_SSL_VERIFYPEER => FALSE
            ));
    
            $code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
            curl_close($ch);
    
            if($code === 200){
    
                 return true;   
            }
            else
            {
                 log_message('error', curl_error($ch));
                 return false;
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作