Internet 領(lǐng)域:TCP,UDP,SSL 和 TLS

PHP 3,PHP 4,PHP 5。 ssl://& tls://自 PHP 4.3 起可用。

sslv2://& sslv3://自 PHP 5.0.2 起可用。

注意: 如果沒有指定傳輸器,則假定為 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

Internet 領(lǐng)域套接字在目標(biāo)地址中還期望有一個端口號。在 fsockopen()中在第二個參數(shù)中指定,這樣就不會影響傳輸器的 URL。然而在 stream_socket_client()和相關(guān)的函數(shù)中是用傳統(tǒng)的 URL,端口號在傳輸器 URL 后面以冒號分隔而指定。

  • tcp://127.0.0.1:80
  • tcp://[fe80::1]:80
  • tcp://www.example.com:80

注意: 帶端口號的 IPv6 數(shù)字地址
在上面的第二個例子中,IPv4 和主機(jī)名的例子只加了一個冒號和端口號,但 IPv6 的地址被放在方括號中: [fe80::1]。這是為了將 IPv6 地址中的冒號和用來分隔端口號的冒號區(qū)別開來。

ssl://tls://傳輸器(僅在 openssl 支持已編譯入 PHP 后可用)是 tcp://傳輸器加入 SSL 加密后的擴(kuò)展。在 PHP 4.3.0 中 OpenSSL 支持必須被靜態(tài)編譯入 PHP,在 PHP 5.0.0 中可以編譯為模塊或者靜態(tài)的。

ssl://將根據(jù)遠(yuǎn)程服務(wù)器的兼容性和參數(shù)設(shè)置嘗試與之建立 SSL V2 或 SSL V3 鏈接 sslv2://sslv3://將明確的選擇 SSL V2 或 SSL V3 協(xié)議進(jìn)行連接。

ssl://tls://傳輸器的上下文選項(xiàng)(自 PHP 4.3.2 起)
名稱 用法 默認(rèn)值
verify_peer &true; 或 &false;。用于 SSL 證書請求驗(yàn)證。 &false;
allow_self_signed &true; 或 &false;。允許自簽名的證書。 &false;
cafile 本地文件系統(tǒng)中證書授權(quán)機(jī)構(gòu)文件的位置,應(yīng)和 verify_peer上下文選項(xiàng)一起使用來認(rèn)證遠(yuǎn)端的身份。  
capath 如果沒有指定 cafile或者如果該處沒找到證書,則在 capath指定的目錄中搜索相配的證書。 capath必須是一個正確的被散列化的證書目錄。  
local_cert 文件系統(tǒng)中本地證書文件的路徑。必須是一個用 PEM 編碼并包含你的證書和私人密鑰的文件??梢赃x擇包括發(fā)行者的證書鏈。  
passphrase 你的 local_cert文件編碼的 passphrase。  
CN_match 所期待的 Common Name。PHP 能進(jìn)行有限的通配符匹配。如果 Common Name 與此不匹配,連接嘗試會失敗。  

注意: 因?yàn)? ssl:// https:// ftps:// 封裝協(xié)議的底層傳輸器,適用于 ssl://的任何上下文選項(xiàng)也適用于 https://ftps://