Edit report at http://bugs.php.net/bug.php?id=47630&edit=1
ID: 47630 Comment by: webmaster at gleitgeb dot at Reported by: metala at metala dot org Summary: Unknown error using fsockopen() when with php-cgi through php cli Status: Closed Type: Bug Package: Network related Operating System: Windows XP SP2 PHP Version: 5.2.9 New Comment: Is it possible just to add a check if the environment variables are correct/existing paths? Otherwise the process should not start or it should add a comment in some logfile .. That stupid problem caused me hours of unnecessary work because I could not find the connection between a wrong environment variable and a not working socket connection (in my case imap_open didn't work as it always said "Host not found") Previous Comments: ------------------------------------------------------------------------ [2009-03-18 12:58:11] metala at metala dot org I don't think "bug" need a fix. A note in the PHP manual, in proc_open() function or elsewhere, would be OK. ------------------------------------------------------------------------ [2009-03-18 12:50:34] metala at metala dot org OK, problem solved. The problem is in the Environment variables of the new process: $env = array ( 'SCRIPT_FILENAME' => dirname(__FILE__).'\\child.php', ); The missing variable is SystemRoot, which in my case is "C:\WINDOWS". So with the final settings: $env = array ( 'SCRIPT_FILENAME' => dirname(__FILE__).'\\child.php', 'SystemRoot' => $_ENV['SystemRoot'], ); Network functionality is working perfectly. ------------------------------------------------------------------------ [2009-03-16 21:04:30] metala at metala dot org It failed again. As I wrote in the description "any network function fails". What I did was: $fp = fsockopen('google.com', 80, $errno, $errstr); And the result was: H:\test\php>php parent.php X-Powered-By: PHP/5.2.9-1 Content-type: text/html <br /> <b>Warning</b>: fsockopen() [<a href='function.fsockopen'>function.fsockopen</a >]: php_network_getaddresses: getaddrinfo failed: No such host is known. in <b> H:\test\php\child.php</b> on line <b>2</b><br /> <br /> <b>Warning</b>: fsockopen() [<a href='function.fsockopen'>function.fsockopen</a >]: unable to connect to google.com:80 (php_network_getaddresses: getaddrinfo fa iled: No such host is known. ) in <b>H:\test\php\child.php</b> on line <b>2</b>< br /> int(0) string(69) "php_network_getaddresses: getaddrinfo failed: No such host is known. " When I run it in DOS: >SET SCRIPT_FILENAME=child.php >php-cgi There appears to be no error. ------------------------------------------------------------------------ [2009-03-16 20:37:06] metala at metala dot org I disabled it before testing. I have another Windows XP machine I can test on. Results coming soon. ------------------------------------------------------------------------ [2009-03-16 19:53:11] johan...@php.net Are you sure there is no firewall blocking? ------------------------------------------------------------------------ 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/bug.php?id=47630 -- Edit this bug report at http://bugs.php.net/bug.php?id=47630&edit=1