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 <[email protected]>
> 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 <[email protected]>
>> 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 <[email protected]>
>>> 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 <[email protected]>:
>>> >> 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
>>> >>>> <[email protected]> wrote:
>>> >>>>
>>> >>>>> On Wed, Dec 9, 2009 at 6:45 AM, René Fournier <[email protected]>
>>> >>>>> 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
>>>
>>>
>>
>>
>
>