tags:

views:

367

answers:

2

Hi!

I have a simple "server" script that just echos a line:

<?php 
echo "Server script on http://".$_SERVER['SERVER_NAME']." saying hello!";

And a "client" script curling the server script:

<?php 
echo "Client script";

$url = "http://localhost/server.php";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$data = curl_exec($ch);
curl_close($ch);        

echo "<br/>Data returned from server script:";
echo "<hr/>";
echo $data;

The last alternative causes no response from the remote server, just the browser chewing until timeout. Any ideas?

A: 

You have an error

$ch = curl_init();

should be

$ch = curl_init($url);
streetparade
Hi SP! Not an error. I'm using curl_setopt($ch, CURLOPT_URL, $url); instead.
Cambiata
Agreed, not an error.
cballou
+1  A: 

The problem is apparently on the remote server.

If the remote server is a shared server and you are using localhost there instead of a full url, then the local machine will not know which local website to call.

Another possibility is that your remote server does not allow the server processes to request data from elsewhere. To test this you should try to call your local machine (if reachable from the internet) or a second machine and call that from the server.

Matijs