ID: 40234 User updated by: silverbanana at gmx dot de -Summary: gethostbynamel always returns false when using PHP as CGI Reported By: silverbanana at gmx dot de -Status: Feedback +Status: Open Bug Type: Network related Operating System: Windows XP SP2 PHP Version: 6CVS-2007-01-25 (snap) New Comment:
It just came into my mind that other PHP functions will also need to resolve names. So I tried this one: $a = file_get_contents("http://www.google.de"); This results on PHP-CGI with Apache in: Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Der angegebene Host ist unbekannt. in D:\path\file.php So some Windows-API-function is failing. Btw, hosts is world readable (I think that's the way it should be, right) on my system so that can hardly be the reason. Previous Comments: ------------------------------------------------------------------------ [2007-01-25 22:01:12] [EMAIL PROTECTED] >I mean, its written in hosts. Then the CGI binary should have enough privileges to read it. ------------------------------------------------------------------------ [2007-01-25 21:52:59] silverbanana at gmx dot de I justed tried to disable my firewall. It didn't make any difference. Besides, asking for the address of localhost shouldn't need any network traffic, should it? I mean, its written in hosts. ------------------------------------------------------------------------ [2007-01-25 15:43:42] [EMAIL PROTECTED] Please make sure your firewall does not block DNS requests issued by gethostbynamel(). Just disable the firewall for some time. And please use 5.2, not PHP6. PHP6 is in pre-alpha stage, which means it's a bit early to test it yet. ------------------------------------------------------------------------ [2007-01-25 13:16:36] silverbanana at gmx dot de I've the same result as you when using PHP-CGI from command line. PHP-CGI from Apache runs as "NT-AUTORITÄT/SYSTEM", like Apache. So if this was the reason gethostnamel should also have failed when using it as module, but it didn't when I tested it with PHP6. But when I use PHP-CGI with Apache it doesn't work. I somehow suspect that Apache and PHP communicate via some TCP/IP connection and that this interferes with gethostbynamel. FYI, here just the two most important lines from my Apache configuration: LoadModule fcgid_module modules/mod_fcgid.so FCGIWrapper "c:/Programme/Net/php5/php-cgi.exe" .php Maybe I've just configured things wrong a bit, but I can't imagine that such a strange error could be the result of misconfiguration. ------------------------------------------------------------------------ [2007-01-25 12:42:12] [EMAIL PROTECTED] I tested with 'php-cgi -f test.php', where test.php contains your reproduce code, but I'm not able to reproduce this problem. Please check the permissions of the user that is running the PHP CGI binary. Also, are you running CGI alone (as I did) or from a webserver? And is it running in a different user account? ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/40234 -- Edit this bug report at http://bugs.php.net/?id=40234&edit=1