Context options and parameters
HTTP context options
Context options and parameters
PHP Manual

# Socket context options

Socket context option listing

### Description

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

### Options

`bindto`

  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 for IPv4 addresses, and [ip]:port for IPv6 addresses. Setting the IP or the port to 0 will let the system choose the IP and/or port.

  > Note:

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

`backlog`

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

  > Note:

  > This is only applicable to stream_socket_server.

### Changelog

Version | Description
--- | ---
5.1.0 | Added bindto.
5.3.3 | Added backlog.

### Examples

Example #1 Basic `bindto` usage example

`<?php
// connect to the internet using the '192.168.0.100' IP
$opts = array(
'socket' => array(
'bindto' => '192.168.0.100:0',
),
);
// connect to the internet using the '192.168.0.100' IP and port '7000'
$opts = array(
'socket' => array(
'bindto' => '192.168.0.100:7000',
),
);
// connect to the internet using the '2001:db8::1' IPv6 address
// and port '7000'
$opts = array(
'socket' => array(
'bindto' => '[2001:db8::1]:7000',
),
);
// 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('http://www.example.com', false, $context);
?>`