Yeah, I had one of those 'duh' moments when you said that it had only read-only. I looked right over that when I looked at the code :)
Chris On Sun, Aug 30, 2009 at 3:10 PM, Colin<[email protected]> wrote: > > Oh, I forgot to say: no, curl_exec does not close the file handle. > This should and does occur later with fclose(). > > If it did, the stream_get_contents() would fail with an error (cos the > filehandle would technically no longer exist), but it doesn't. > > > On Sun, Aug 30, 2009 at 8:06 PM, Colin<[email protected]> wrote: >> 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 >> > > > > -- > 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 -~----------~----~----~----~------~----~------~--~---
