Forum und email
Seznam podporovaných socketových transportů

Příloha P. Seznam podporovaných socketových transportů

Toto je seznam různých socketových transportů v URL stylu, které byly vestavěny do PHP k použití se socketovými funkcemi založenými na streamech, jako je fsockopen() a stream_socket_client(). Tyto transporty nelze použít s rozšířením Sockets Extension.

K získání seznamu transportů instalovaných ve vaší verzi PHP použijte funkci stream_get_transports().

Internetová oblast: TCP, UDP, SSL a TLS

PHP 3, PHP 4, PHP 5. ssl:// & tls:// od PHP 4.3.0 sslv2:// & sslv3:// od PHP 5.0.2

Poznámka: Není-li specifikován žádný transport, předpokládá se tcp://.

  • 127.0.0.1

  • fe80::1

  • www.example.com

  • tcp://127.0.0.1

  • tcp://fe80::1

  • tcp://www.example.com

  • udp://www.example.com

  • ssl://www.example.com

  • sslv2://www.example.com

  • sslv3://www.example.com

  • tls://www.example.com

Internetové sockety očekávají spolu s cílovou adresou číslo portu. V případě funkce fsockopen() se port specifikuje v samostatném parametru a proto nemá vliv na formátování URL transportu. U stream_socket_client() a souvisejících funkcí, podobně jako u tradičních URL, se však číslo portu specifikuje přidáním k URL transportu (a odděluje se dvojtečkou).

  • tcp://127.0.0.1:80

  • tcp://[fe80::1]:80

  • tcp://www.example.com:80

Číselné adresy IPv6 s čísly portů: Ve druhém příkladu výše, přestože příklady pro IPv4 a jmennou adresu jsou ponechány nedotčené při přidání dvojtečky a čísla portu, adresa IPv6 je uzavřena do hranatých závorek: [fe80::1]. Je to kvůli rozlišení mezi dvojtečkami použitými v IPv6 adrese a tou, která odděluje číslo portu.

Transporty ssl:// a tls:// (dostupné pouze v případě, že se do PHP zakompiluje podpora OpenSSL) jsou rozšířením transportu tcp://, které zahrnuje podporu SSL šifrování. Zatímco v PHP 4.3.0 se musí podpora OpenSSL kompilovat do PHP staticky, od verze PHP 5.0.0 ji lze kompilovat staticky i jako modul.

ssl:// se bude pokoušet vyjednat spojení SSL V2 nebo SSL V3, v záležitosti na schopnostech a nastavení vzdáleného stroje. sslv2:// a sslv3:// explicitně vybere protokol SSL V2 nebo SSL V3.

Tabulka P-1. Kontextové volby pro ssl:// a tls:// transporty (od PHP 4.3.2)

NázevPoužitíVýchozí
verify_peer TRUE nebo FALSE. Vyžádá ověření použitého SSL certifikátu. FALSE
allow_self_signed TRUE nebo FALSE. Povolí použití certifikátu podepsaného sebou samým. FALSE
cafile Umístění souboru certifikačních autorit, který by se měl používat v kontextu funkce verify_peer k ověření totožnosti vzdáleného stroje, v místní souborovém systému.  
capath Pokud cafile není specifikován nebo tam nelze certifikát najít, bude se použitelný certifikát hledat v adresáři určeném capath. capath musí být správný hashovaný adresář s certifikáty.  
local_cert Cesta v souborovém systému k souboru místního certifikátu. Musí to být soubor zakódovaný PEM, obsahující váš certifikát a soukromý klíč. Volitelně může obsahovat i certifikátový řetěz vydavatelů.  
passphrase Heslo, kterým byl zakódován váš soubor local_cert.  
CN_match Očekávaná položka Common Name (CN). PHP provede omezenou kontrolu pomocí wildcards. Nevyhoví-li Common Name, pokus o spojení selže.  

Poznámka: Protože ssl:// je bázový transport pro wrappery https:// a ftps://, jakékoli kontextové volby vztahující se k ssl:// se vztahují také na https:// a ftps://.