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

Reply via email to