#44134 [Opn->Fbk]: sessions calling causes timeout and failed response in simplexml and curl

2008-02-23 Thread jani
 ID:   44134
 Updated by:   [EMAIL PROTECTED]
 Reported By:  doc+phpbugs at skynet dot ie
-Status:   Open
+Status:   Feedback
 Bug Type: Session related
 Operating System: ubuntu linux
 PHP Version:  5.2.5
 New Comment:

That's still quite complete script, or do you start sessions
automatically? (it's missing session_start(); :)

And as you're obviously calling another script on same server with same
session as the current one, you should be using this:

http://php.net/session_write_close

You should put the call to session_write_close(); before the
curl/simplexml calls.


Previous Comments:


[2008-02-19 17:46:24] doc+phpbugs at skynet dot ie

Sorry, I meant to add that the url listed here isn't real but the
result should happen with any url which utilises a session on
connection.



[2008-02-18 18:55:45] doc+phpbugs at skynet dot ie

http://magpiedev.com/data.php');
$data_source_url = DATAURL.'?bget=1&'.session_name().'='.session_id();
$basket_details = simplexml_load_file($data_source_url);
?>



[2008-02-18 09:36:18] [EMAIL PROTECTED]

Please provide a proper reproducing script. The one here is not
enough.
Proper script is 100% self-contained and starts with  (for the sake of being clear where the script really ends :)



[2008-02-15 23:19:46] doc+phpbugs at skynet dot ie

Description:

When I pass a parameter of session_name()=session_id() in a url or as a
header and use curl  or simplexml the connection times out. I get the
following response from simplexml_load_file($url).

failed to open stream: HTTP request failed!

However, when I connect to the same url with curl on the commandline I
get the expected response immediately.



Reproduce code:
---
echo $data_source_url =
DATAURL.'?bget=1&'.session_name().'='.session_id().'&basket_id='.clean_from_db($basket_id);
$basket_details = simplexml_load_file($data_source_url);

I also get the same when I use:
$ch=curl_init();
echo $this->URL.$this->XMLRequest.'?'.$urlstring;
curl_setopt($ch,
CURLOPT_URL,$this->URL.$this->XMLRequest.'?'.$urlstring);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);

or pass it as a more standard CURLOPT_HTTPHEADER to curl_setopt.

Expected result:

To retrieve xml from the server.

Actual result:
--
The page is called which then attempts to connect to the data url, that
stalls for some time then calls the server correctly then the script
eventually times out.

I've used wireshark on the machine and it's calling the url correctly
and getting the expected response, as I can see the xml being passed
back, but somewhere between then and actually returning, it stalls and
times out.





-- 
Edit this bug report at http://bugs.php.net/?id=44134&edit=1


#44134 [Opn->Fbk]: sessions calling causes timeout and failed response in simplexml and curl

2008-02-18 Thread jani
 ID:   44134
 Updated by:   [EMAIL PROTECTED]
 Reported By:  doc+phpbugs at skynet dot ie
-Status:   Open
+Status:   Feedback
 Bug Type: Session related
 Operating System: ubuntu linux
 PHP Version:  5.2.5
 New Comment:

Please provide a proper reproducing script. The one here is not
enough.
Proper script is 100% self-contained and starts with  (for the sake of being clear where the script really ends :)


Previous Comments:


[2008-02-15 23:19:46] doc+phpbugs at skynet dot ie

Description:

When I pass a parameter of session_name()=session_id() in a url or as a
header and use curl  or simplexml the connection times out. I get the
following response from simplexml_load_file($url).

failed to open stream: HTTP request failed!

However, when I connect to the same url with curl on the commandline I
get the expected response immediately.



Reproduce code:
---
echo $data_source_url =
DATAURL.'?bget=1&'.session_name().'='.session_id().'&basket_id='.clean_from_db($basket_id);
$basket_details = simplexml_load_file($data_source_url);

I also get the same when I use:
$ch=curl_init();
echo $this->URL.$this->XMLRequest.'?'.$urlstring;
curl_setopt($ch,
CURLOPT_URL,$this->URL.$this->XMLRequest.'?'.$urlstring);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);

or pass it as a more standard CURLOPT_HTTPHEADER to curl_setopt.

Expected result:

To retrieve xml from the server.

Actual result:
--
The page is called which then attempts to connect to the data url, that
stalls for some time then calls the server correctly then the script
eventually times out.

I've used wireshark on the machine and it's calling the url correctly
and getting the expected response, as I can see the xml being passed
back, but somewhere between then and actually returning, it stalls and
times out.





-- 
Edit this bug report at http://bugs.php.net/?id=44134&edit=1