Библиотека Codeigniter Curl не работает после смены сервера - PullRequest
0 голосов
/ 25 марта 2012

Я реализовал функцию, которая подключается к продавцу, используя библиотеку curl для Codeigniter http://codeigniter.com/wiki/Curl_library. Я закончил реализацию, и все работало отлично. Однако теперь мы перенесли приложение на локальный сервер. свежий монтаж: Ubuntu Server 11.10 Php 3.5.6 Mysql 5.1 Apache 2

Я использую статическую конфигурацию Ip и могу подключиться к Интернету. Используя терминал, я могу пинговать такие сайты, как Google, Yahoo и т. Д., Но я не могу пинговать www.veripayment.com. Я могу открыть сайт с других компьютеров в той же сети. Но мой сервер Ubuntu не может.

Пожалуйста, имейте в виду, что это работает на нашем сервере.

<?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 Ответ

0 голосов
/ 26 марта 2012

Что такое код ответа пинга?

Попробуйте сырой локон, как это. Затем проверьте ваш журнал ошибок для возможного решения

$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;
        }
...