Hi Chris Yes, file_get_contents() works, but that's because it sets it's own filehandle when it opens and reads the file, rather than using the file handle already open. stream_get_contents() uses an already open filehandle, and this needs read permissions. This is ultimately where the problem was.
The latest SVN code has the correct permissions and resolves the issue, without resorting to using file_get_contents(). Cheers, Colin On Sat, Aug 29, 2009 at 3:38 PM, Chris Tankersley<[email protected]> wrote: > > curlrequestprocessor.php line 87 is using stream_get_contents after > the call to CURL. Changing it to file_get_contents causes the body to > return properly. I will test it with FlickrFeed later, but initial > tests seem to show the stream_get_contents to be the problem. > > Since CURLOPT_FILE takes a resource, does running the curl_exec close > out that resource, making stream_get_contents fail (and thereby making > file_get_contents work)? > > From the PHP Manual for stream_get_contents: > Identical to file_get_contents(), except that stream_get_contents() > operates on an already open stream resource and returns the remaining > contents in a string, up to maxlength bytes and starting at the > specified offset . > > Chris > > On Sat, Aug 29, 2009 at 7:36 AM, Chris > Tankersley<[email protected]> wrote: >> Since the fix just removed using the tmpfile function and just jumps >> straight to using the cache directory, is your cache directory >> writable? >> >> Chris >> >> On Sat, Aug 29, 2009 at 5:10 AM, Ali B.<[email protected]> wrote: >>> Thanks for taking the time to investigate this Colin. r3693 works around a >>> bug in the latest versions of PHP. Not really the first time PHP does that >>> to us. Which makes you think if these issue should be worked around in the >>> first place. >>> >>> As for fixing it, I have honestly no idea how to get Remote Request to work >>> again without "breaking" it for PHP 5.2.10 and 5.3. I'll have to leave it >>> for the more experienced. >>> >>> On Sat, Aug 29, 2009 at 6:52 PM, Colin <[email protected]> wrote: >>>> >>>> Right, it's the changes that were introduced in r3693 that are >>>> responsible. r3692 works as expected. r3693 doesn't. I don't have >>>> time right now to investigate these changes or log a bug, but will try >>>> take a look later this weekend if no one else gets the chance. >>>> >>>> >>>> >>>> On Sat, Aug 29, 2009 at 9:09 AM, Colin<[email protected]> wrote: >>>> > I noticed this too, but blamed it on my feed source and didn't >>>> > investigate further. >>>> > >>>> > I think I can probably trawl back through my logs and see when it >>>> > first started occurring for me. >>>> > >>>> > >>>> > On Fri, Aug 28, 2009 at 8:21 AM, Ali B.<[email protected]> wrote: >>>> >> I've noticed this issue recently while working with the flickrfeed >>>> >> plugin. >>>> >> Whatever URL I have a new remote request to fetch, I get a blank >>>> >> response >>>> >> body. The response header is returned with a 200 status. But the body >>>> >> is >>>> >> always blank no matter what URL is being fetched. Here's an example: >>>> >> >>>> >> $call = new RemoteRequest('http://habariproject.org/en/atom/1'); >>>> >> $result = $call->execute(); >>>> >> Utils::debug($call); >>>> >> Utils::debug($result); >>>> >> Utils::debug($call->get_response_header()); >>>> >> Utils::debug($call->get_response_body()); >>>> >> >>>> >> The results: >>>> >> >>>> >> ----------------------------------------------------------------------------------------------------------------- >>>> >> object RemoteRequest Object >>>> >> ( >>>> >> [method:private] => GET >>>> >> [url:private] => http://habariproject.org/en/atom/1 >>>> >> [params:private] => Array >>>> >> ( >>>> >> ) >>>> >> >>>> >> [headers:private] => Array >>>> >> ( >>>> >> [User-Agent] => Habari/0.7-alpha >>>> >> ) >>>> >> >>>> >> [postdata:private] => Array >>>> >> ( >>>> >> ) >>>> >> >>>> >> [files:private] => Array >>>> >> ( >>>> >> ) >>>> >> >>>> >> [body:private] => >>>> >> [timeout:private] => 180 >>>> >> [processor:private] => CURLRequestProcessor Object >>>> >> ( >>>> >> [response_body:private] => >>>> >> [response_headers:private] => HTTP/1.1 200 OK >>>> >> Date: Fri, 28 Aug 2009 07:17:45 GMT >>>> >> Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.5.1 mod_python/3.3.1 >>>> >> Python/2.5.2 >>>> >> PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g >>>> >> X-Powered-By: PHP/5.2.4-2ubuntu5.6 >>>> >> Set-Cookie: PHPSESSID=77a625c79c865fa68480f8ce3cc3c4b6; path=/ >>>> >> Expires: Thu, 19 Nov 1981 08:52:00 GMT >>>> >> Cache-Control: no-store, no-cache, must-revalidate, post-check=0, >>>> >> pre-check=0 >>>> >> Pragma: no-cache >>>> >> Vary: Accept-Encoding >>>> >> Transfer-Encoding: chunked >>>> >> Content-Type: application/atom+xml >>>> >> [executed:private] => 1 >>>> >> [can_followlocation:private] => 1 >>>> >> [max_redirs:private] => 5 >>>> >> [_headers:private] => HTTP/1.1 200 OK >>>> >> Date: Fri, 28 Aug 2009 07:17:45 GMT >>>> >> Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.5.1 mod_python/3.3.1 >>>> >> Python/2.5.2 >>>> >> PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g >>>> >> X-Powered-By: PHP/5.2.4-2ubuntu5.6 >>>> >> Set-Cookie: PHPSESSID=77a625c79c865fa68480f8ce3cc3c4b6; path=/ >>>> >> Expires: Thu, 19 Nov 1981 08:52:00 GMT >>>> >> Cache-Control: no-store, no-cache, must-revalidate, post-check=0, >>>> >> pre-check=0 >>>> >> Pragma: no-cache >>>> >> Vary: Accept-Encoding >>>> >> Transfer-Encoding: chunked >>>> >> Content-Type: application/atom+xml >>>> >> >>>> >> >>>> >> ) >>>> >> >>>> >> [executed:private] => 1 >>>> >> [response_body:private] => >>>> >> [response_headers:private] => HTTP/1.1 200 OK >>>> >> Date: Fri, 28 Aug 2009 07:17:45 GMT >>>> >> Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.5.1 mod_python/3.3.1 >>>> >> Python/2.5.2 >>>> >> PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g >>>> >> X-Powered-By: PHP/5.2.4-2ubuntu5.6 >>>> >> Set-Cookie: PHPSESSID=77a625c79c865fa68480f8ce3cc3c4b6; path=/ >>>> >> Expires: Thu, 19 Nov 1981 08:52:00 GMT >>>> >> Cache-Control: no-store, no-cache, must-revalidate, post-check=0, >>>> >> pre-check=0 >>>> >> Pragma: no-cache >>>> >> Vary: Accept-Encoding >>>> >> Transfer-Encoding: chunked >>>> >> Content-Type: application/atom+xml >>>> >> [user_agent:private] => Habari/0.7-alpha >>>> >> ) >>>> >> >>>> >> ----------------------------------------------------------------------------------------------------------------- >>>> >> boolean 1 >>>> >> >>>> >> ----------------------------------------------------------------------------------------------------------------- >>>> >> string HTTP/1.1 200 OK >>>> >> Date: Fri, 28 Aug 2009 07:17:45 GMT >>>> >> Server: Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.5.1 mod_python/3.3.1 >>>> >> Python/2.5.2 >>>> >> PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g >>>> >> X-Powered-By: PHP/5.2.4-2ubuntu5.6 >>>> >> Set-Cookie: PHPSESSID=77a625c79c865fa68480f8ce3cc3c4b6; path=/ >>>> >> Expires: Thu, 19 Nov 1981 08:52:00 GMT >>>> >> Cache-Control: no-store, no-cache, must-revalidate, post-check=0, >>>> >> pre-check=0 >>>> >> Pragma: no-cache >>>> >> Vary: Accept-Encoding >>>> >> Transfer-Encoding: chunked >>>> >> Content-Type: application/atom+xml >>>> >> >>>> >> ----------------------------------------------------------------------------------------------------------------- >>>> >> string >>>> >> >>>> >> ----------------------------------------------------------------------------------------------------------------- >>>> >> >>>> >> Any idea what's going on with the class? >>>> >> >>>> >> -- >>>> >> Ali B. / dmondark >>>> >> http://awhitebox.com >>>> >> >>>> >> >> >>>> >> >>>> > >>>> > >>>> > >>>> > -- >>>> > Colin Seymour >>>> > Blog: http://www.colinseymour.co.uk >>>> > Tech Stuff: http://www.lildude.co.uk >>>> > >>>> >>>> >>>> >>>> -- >>>> Colin Seymour >>>> Blog: http://www.colinseymour.co.uk >>>> Tech Stuff: http://www.lildude.co.uk >>>> >>>> >>> >>> >>> >>> -- >>> Ali B. / dmondark >>> http://awhitebox.com >>> >>> >> >>> >> > > > > -- Colin Seymour Blog: http://www.colinseymour.co.uk Tech Stuff: http://www.lildude.co.uk --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/habari-dev -~----------~----~----~----~------~----~------~--~---
