При использовании stream api и обертки, в которой используется сокет-обертка, вы можете установить параметр контекста bindto для выполнения (1):
Используется для указания IP-адреса (IPv4 или IPv6) и / или номера порта, который PHP будет использовать для доступа к сети. Синтаксис ip: порт. Установка IP или порта на 0 позволит системе выбрать IP и / или порт.
$ctx = stream_context_create( array(
'socket' => array(
'bindto' => '192.168.0.107:0',
)
));
$c= file_get_contents('http://php.net', 0, $ctx);