#36036 [Opn->Bgs]: fsockopen will not connect with bindto option
| From: | tony2001@php.net | Date: | Mon, 16 Jan 2006 21:45:37 +0000 |
| Subject: | #36036 [Opn->Bgs]: fsockopen will not connect with bindto option | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-92021@lists.php.net to get a copy of this message | ||
ID: 36036
Updated by: tony2001@php.net
Reported By: jason at eblasterpro dot com
-Status: Open
+Status: Bogus
Bug Type: Sockets related
Operating System: Mandrake 10.2
PHP Version: 5.1.2
New Comment:
The error message is quite descriptive - (p)fsockopen() doesn't even
have such parameter.
See http://php.net/fsockopen
No bug here.
Previous Comments:
------------------------------------------------------------------------
[2006-01-16 22:35:06] jason at eblasterpro dot com
<b>Warning</b>: fsockopen() expects at most 5 parameters, 6 given in
<b>/home/home/virtualhosts/trendex/lib/Net/Socket4.php</b> on line
<b>133</b><br />
Pear's Socket.php contain the following in its connect function. The
must have wrote this assuming fsockopen would accept options one day.
$openfunc = $this->persistent ? 'pfsockopen' : 'fsockopen';
$errno = 0;
$errstr = '';
if ($options && function_exists('stream_context_create')) {
if ($this->timeout) {
$timeout = $this->timeout;
} else {
$timeout = 0;
}
$context = stream_context_create($options);
$fp = $openfunc($this->addr, $this->port, $errno, $errstr, $timeout,
$context);
} else {
if ($this->timeout) {
$fp = $openfunc($this->addr, $this->port, $errno, $errstr,
$this->timeout);
} else {
$fp = $openfunc($this->addr, $this->port, $errno, $errstr);
}
}
------------------------------------------------------------------------
[2006-01-16 21:46:30] tony2001@php.net
Remove the @ from the function call and post the error you get (if
any).
And make sure your 10.1.14.1 is *your* IP and port #9000 is not blocked
by a firewall (or better just turn off any firewalls/filters).
------------------------------------------------------------------------
[2006-01-16 21:41:23] jason at eblasterpro dot com
Description:
------------
I passed this option
$options = array('socket' => array('bindto' =>
'10.1.14.1:9000'));
into
$context = stream_context_create($options);
$fp = @$openfunc($this->addr, $this->port, $errno, $errstr, $timeout,
$context);
Which caused my program to stop connecting all together.
The ip and port are valid.
Expected result:
----------------
Pear Socket.php has a place for options to be passed in, so I thought
it would bind
Actual result:
--------------
Could never connect to remote machine
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=36036&edit=1