Re: file_get_contents ($file) works -- file_get_contents ($url) returns false

From: Date: Mon, 14 Dec 2009 00:19:14 +0000
Subject: Re: file_get_contents ($file) works -- file_get_contents ($url) returns false
References: 1 2 3 4 5 6 7 8 9 10 11  Groups: php.general 
Request: Send a blank email to php-general+get-300461@lists.php.net to get a copy of this message
PHP Version 5.3.0 Directive Local Value Master Value allow_call_time_pass_reference Off Off allow_url_fopen On On 2009-12-14, at 12:26 AM, Gaurav Kumar wrote: > What is the value for "allow_url_fopen" in your php.ini? It should be 1. > > > > > > 2009/12/13 René Fournier <m5@renefournier.com> > CURL works (remote and local) > file_get_contents() doesn't work (remote or local). > > > > On 2009-12-13, at 4:39 PM, Gaurav Kumar wrote: > >> Ok Agreed. >> >> Lets do one last chance to ensure that your system is allowing external connections or >> connection to other systems in the network- >> >> Use Curl to get in the file contents. Check your PHP that Curl is enabled. Through >> phpinfo(); >> >> If the script output the google page then this means that there is nothing that is stopping >> you form getting in the content externally. >> >> <?php >> // $str = file_get_contents >> ('http://www.google.com'); >> // echo $str; >> >> >> // create a new cURL resource >> $ch = curl_init(); >> >> // set URL and other appropriate options >> curl_setopt($ch, CURLOPT_URL, >> "http://www.google.co.in"); >> //http://www.google.com >> curl_setopt($ch, CURLOPT_HEADER, 0); >> >> // grab URL and pass it to the browser >> curl_exec($ch); >> >> // close cURL resource, and free up system resources >> curl_close($ch); >> >> ?> >> >> Thanks, >> >> Gaurav Kumar >> >> >> >> 2009/12/13 René Fournier <m5@renefournier.com> >> The thing is, the file_get_contents() fails the same way on local URLs -- that is, web >> sites hosted on the same machine. Or even using the machine's own IP address. >> >> On 2009-12-13, at 4:00 AM, Gaurav Kumar wrote: >> >>> Hi Rene, >>> >>> The only thing which is a hurdle is that your system/computer is not allowing external >>> connections. There seems to be nothing else wrong. >>> >>> I strongly suggest check your system firewall, any central server settings through >>> which your system gets internet access, any antivirus s/w installed etc.. this can be the only >>> reason. Something is stopping you to access external connection. >>> >>> Let me know when your problem is fixed. >>> Also I tried the below code and it works fine- >>> >>> <?php >>> $str = file_get_contents >>> ('http://www.google.com'); >>> echo $str; >>> ?> >>> >>> Thanks, >>> >>> Gaurav Kumar >>> >>> >>> >>> 2009/12/11 René Fournier <m5@renefournier.com> >>> Hi Gaurav, >>> >>> On 2009-12-11, at 2:55 PM, Gaurav Kumar wrote: >>> >>>> A very typical problem. Good you sent the error message. >>>> >>>> This problem can be caused due to one of the following- >>>> >>>> 1. I have faced similar problem due to local firewall settings. >>> >>> Don't think this is it, since (1) the firewall settings haven't changed, and >>> (2) other machines on the same network can execute this same code and function (but they aren't >>> running OS X Server 10.6. >>> >>>> 2. Try some other domain; i.e. other than google com. Try some of the local area >>>> website with a particular page like www.somedomain.com/somefile.html >>> >>> I've tried many different external and local web sites, and they all fail. >>> >>>> 3. Some times the remote host does not allow you to connect to get the file >>>> contents. >>> >>> (Also not the cause -- as explained above.) >>> >>> >>>> 4. # 3 can be either way round from both the ends a) you host server does not allow >>>> external connections b) Remote host does not allow anonymous connection. >>> >>> Thanks for the options. I don't think they apply in this case. If you have any >>> other suggestions on what to do, I would welcome them. >>> >>> >>> >>>> Gaurav Kumar >>>> blog.oswebstudio.com >>>> >>>> >>>> >>>> On Thu, Dec 10, 2009 at 9:01 PM, René Fournier <m5@renefournier.com> wrote: >>>> I thought error_reporting would display them, but I guess php.ini had them >>>> suppressed. Anyway, with: >>>> >>>> <?php >>>> >>>> error_reporting(-1); >>>> ini_set('display_errors', 1); >>>> set_time_limit(0); >>>> var_dump (file_get_contents >>>> ('http://www.google.com')); >>>> >>>> ?> >>>> >>>> I get: >>>> >>>> Warning: file_get_contents(http://www.google.com): failed to open stream: Operation >>>> now in progress in /____/____.php on line 7 bool(false) >>>> >>>> Does that help with the diagnosis? >>>> >>>> >>>> On 2009-12-10, at 12:28 AM, Richard Quadling wrote: >>>> >>>> > 2009/12/9 René Fournier <m5@renefournier.com>: >>>> >> It is, and I use curl elsewhere in the same script to fetch remote >>>> >> content. >>>> >> This exact same function works fine on my MacBook Pro (10.6 client, PHP >>>> >> 5.3), and *was* previously working fine under Server 10.4.11 and PHP 5.3, >>>> >> >>>> >> On 2009-12-09, at 11:10 PM, laruence wrote: >>>> >> >>>> >>> try >>>> >>> wget http://www.google.com in your >>>> >>> command line to see whether the network is reachable >>>> >>> >>>> >>> LinuxManMikeC wrote: >>>> >>>> >>>> >>>> On Wed, Dec 9, 2009 at 8:02 AM, LinuxManMikeC >>>> >>>> <linuxmanmikec@gmail.com> wrote: >>>> >>>> >>>> >>>>> On Wed, Dec 9, 2009 at 6:45 AM, René Fournier >>>> >>>>> <m5@renefournier.com> wrote: >>>> >>>>> >>>> >>>>>> Strange problem I'm having on Mac OS X Server 10.6 >>>> >>>>>> running PHP 5.3. Any call of file_get_contents() on a local file works fine -- the file is read and >>>> >>>>>> returned. But any call of file_get_contents on a url -- any url, local or remote -- always returns >>>> >>>>>> false. >>>> >>>>>> >>>> >>>>>> var_dump (file_get_contents >>>> >>>>>> ('http://www.google.com/')); >>>> >>>>>> >>>> >>>>>> bool(false) >>>> >>>>>> >>>> >>>>>> I've checked php.ini, and the obvious seems okay: >>>> >>>>>> >>>> >>>>>> allow_url_fopen => On => On >>>> >>>>>> >>>> >>>>>> Any ideas? >>>> >>>>>> >>>> >>>>>> ...Rene >>>> >>>>>> >>>> >>>>> >>>> >>>>> http://us2.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen >>>> >>>>> >>>> >>>>> >>>> >>>> >>>> >>>> "I've checked php.ini" >>>> >>>> Right, must remember not to reply to stuff till I'm awake. >>>> >>>> :-D >>>> >>>> >>>> >>>> -- >>>> >>>> PHP General Mailing List (http://www.php.net/) >>>> >>>> To unsubscribe, visit: >>>> >>>> http://www.php.net/unsub.php >>>> >>>> >>>> >>>> >>>> >>> >>>> >>> -- >>>> >>> <2866791487_dbbbdddf9e.jpg>惠 新宸 xinchen.hui | >>>> >>> 商务搜索部 | (+8610)82602112-7974 | <2866349865_203e53a6c6.jpg>:laruence >>>> >> >>>> >> >>>> > >>>> > Do you have ANY errors/warning/notices? >>>> > >>>> > >>>> > >>>> > -- >>>> > ----- >>>> > Richard Quadling >>>> > "Standing on the shoulders of some very clever giants!" >>>> > EE : >>>> > http://www.experts-exchange.com/M_248814.html >>>> > Zend Certified Engineer : >>>> > http://zend.com/zce.php?c=ZEND002498&r=213474731 >>>> > ZOPA : http://uk.zopa.com/member/RQuadling >>>> >>>> >>> >>> >> >> > >

« previous php.general (#300461) next »