The right way for forcing IPv6 is 'bindto' => '[::]:0'
Soket bağlamı seçenekleri — Soket bağlamı seçeneklerinin listesi
Soket bağlamı seçenekleri, tcp
,
http
ve ftp
gibi soketler üzerinde
çalışan tüm sarmalayıcılar için kullanılabilir.
Sürüm: | Açıklama |
---|---|
7.1.0 |
tcp_nodelay eklendi.
|
7.0.1 |
ipv6_v6only eklendi.
|
Örnek 1 - Temel bindto
kullanım örneği
<?php
// internete '192.168.0.100' IP'yi kullanarak bağlanalım
$seçenekler = array(
'socket' => array(
'bindto' => '192.168.0.100:0',
),
);
// internete '192.168.0.100' IP ve port '7000' üzerinden bağlanalım
$seçenekler = array(
'socket' => array(
'bindto' => '192.168.0.100:7000',
),
);
// internete '2001:db8::1' IPv6 adresini kullanarak bağlanalım
// and port '7000'
$opts = array(
'socket' => array(
'bindto' => '[2001:db8::1]:7000',
),
);
// internete port '7000' üzerinden bağlanalım
$seçenekler = array(
'socket' => array(
'bindto' => '0:7000',
),
);
// bağlamı oluşturalım...
$bağlam = stream_context_create($seçenekler);
// ...ve veri çekmek için kullanalım
echo file_get_contents('http://misal.dom', false, $bağlam);
?>
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.