ScotlandPHP 2016

Socket context options

Socket context optionsSocket context option listing


Socket context options are available for all wrappers that work over sockets, like tcp, http and ftp.



Used to specify the IP address (either IPv4 or IPv6) and/or the port number that PHP will use to access the network. The syntax is ip:port. Setting the IP or the port to 0 will let the system choose the IP and/or port.


As FTP creates two socket connections during normal operation, the port number cannot be specified using this option.


Used to limit the number of outstanding connections in the socket's listen queue.


This is only applicable to stream_socket_server().

Rejestr zmian

Wersja Opis
5.1.0 Added bindto.
5.3.3 Added backlog.


Przykład #1 Basic bindto usage example

// connect to the internet using the '' IP
$opts = array(
'socket' => array(
'bindto' => '',

// connect to the internet using the '' IP and port '7000'
$opts = array(
'socket' => array(
'bindto' => '',

// connect to the internet using port '7000'
$opts = array(
'socket' => array(
'bindto' => '0:7000',

// create the context...
$context stream_context_create($opts);

// ...and use it to fetch the data
echo file_get_contents(''false$context);


add a note add a note

User Contributed Notes 2 notes

guru at jnt-finland dot fi
10 months ago
You can set "bindto" to "0:0" to force use IPv4 instead of IPv6. And probably "[0]:0" to force use IPv6, thou this I couldn't test.
1 year ago
Well we can:
set a Context and just read a "file"...
open a socket an read/write to a "file"

no i have a selfsigned cert ( it is in /usr/ssl... ) but after upgrading to 5.6 some Errors came thru.

no i have to downgrad php... so i'm now less secure to be "more" secure ...
To Top