Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to get a Curl Response from an outside server, however I noticed I cant neither PING the server in question nor connect to it.

I tried disabling the iptables firewall but I had no success. My server is running behind a Cisco Linksys WRTN310N Router with the DD-wrt firmware Installed. In which I already disabled the firewall.

Here are my network settings: Ifconfig

eth0      Link encap:Ethernet  HWaddr 00:26:b9:76:73:6b
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::226:b9ff:fe76:736b/64 Scope:Link
          RX packets:49713 errors:0 dropped:0 overruns:0 frame:0
          TX packets:30987 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:52829022 (52.8 MB)  TX bytes:5438223 (5.4 MB)

lo        Link encap:Local Loopback
          inet addr:  Mask:
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:341 errors:0 dropped:0 overruns:0 frame:0
          TX packets:341 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:27604 (27.6 KB)  TX bytes:27604 (27.6 KB)




passwd:         compat
group:          compat
shadow:         compat

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis


order hosts,bind
multi on

/etc/hosts       localhost       callcenter

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters


# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static

The Url to which im trying to get a connection to is When I ping it on terminal heres what I get

daniel@callcenter:~$ ping
ping: unknown host

daniel@callcenter:~$ ping
PING ( 56(84) bytes of data.

--- ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1007ms

PHP Function in codeigniter

public function authorizePayment(){
    // Authorize a payment

        // Get variables from POST array
        $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_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 = "";
                    $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);
                        $result[$keyvalue[0]] =  str_replace('"', '', $keyvalue[1]);
                    return $result;


This gets an empty result array. This function however works well in the previous server where the script was hosted before. No modifications where made whatsoever

Thanks in Advance

share|improve this question

The server at (or their firewall in front of it) is configured to discard ping requests.

C:\Users\RGB> ping

Pinging [] with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for
    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

It responds to HTTP requests:

C:\Users\RGB> wget
           => `index.html.1'
Resolving done.
Connecting to[]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]

    [ <=>                                 ] 922          900.39K/s

22:34:37 (900.39 KB/s) - `index.html.1' saved [922]


For an outbound HTTP request you shouldn't need to disable any firewall in your router.


You are using lib_curl from PHP, but in a way I don't recognise.

Other PHP examples of curl use functions like curl_init() and curl_exec()

I suspect you need to dump out what you are sending (the post data), compare PHP versions and amend the code to check for error responses.

I don't know how you'd do that with the library you are using, with other PHP curl libs you do something like this:

if (curl_errno($ch)) {
 print curl_error($ch);
} else {

I'd update the PHP script with something equivalent.

My guess is your PHP version and environment is not the same as it was on your old server.

share|improve this answer
so does this mean its an issue with Curl? – Daniel Adarve Mar 25 '12 at 21:39
@Daniel: I doubt there's anything wrong with curl. Can you edit your question and cut and paste your curl command and it's output at the end? – RedGrittyBrick Mar 25 '12 at 21:41
Sure one sec. thanks – Daniel Adarve Mar 25 '12 at 21:42
I was working on a paid server on, basically we want to have this script in a local server so I bought a Dell Server and installed Ubuntu on it. It must be something with the Ubuntu configuration. – Daniel Adarve Mar 25 '12 at 21:47

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.