PHP基础
PHP基础 第十四章 上下文(Context)选项和参数
## 1.套接字上下文选项 — 套接字上下文选项列表 说明:套接字上下文选项可用于所有工作在套接字上的封装协议,像 tcp, http 和 ftp. 可选项 - **Bindto** 用户PHP访问网络的指定的IP地址(IPv4或IPv6其中的一个)和/或 端口号 - **Backlog** 用于限制的数量未连接的套接字监听队列 ```php $opts = array('socket' => array( 'bindto' => '192.168.0.100:0', ),); $context = stream_context_create($opts); echo file_get_contents('http://www.example.com', false, $context); ``` ## 2.HTTP context 选项 — HTTP context 的选项列表 说明:提供给 http:// 和 https:// 传输协议的 context 选项 可选项 - **Method:**远程服务器支持的 GET,POST 或其它 HTTP 方法。默认值是 GET。 - **Header:**请求期间发送的额外 header 。在此选项的值将覆盖其他值 - **user_agent:**如果header context 选项中没有指定,此值将被使用。默认使用 php.ini 中设置的 user_agent。 - **content :**在 header 后面要发送的额外数据。通常使用POST或PUT请求。 - **Proxy:**URI 指定的代理服务器的地址。(e.g. tcp://proxy.example.com:5100). - **request_fulluri :**当设置为 TRUE 时,在构建请求时将使用整个 URI 。默认值是 FALSE. - **follow_location:**跟随 Location header 的重定向。设置为 0 以禁用。默认值是 1。 - **max_redirects:**跟随重定向的最大次数。值为 1 或更少则意味不跟随重定向。默认值是 20。 - **protocol_version:**HTTP 协议版本。默认值是 1.0。 - **Timeout:**超时时间,单位为秒,用 float 指定(e.g. 10.5)。默认使用 php.ini 中设置的 default_socket_timeout。 - **ignore_errors:**即使是故障状态码依然获取内容。默认值为 FALSE. ```php $postdata = http_build_query(array('var1' => 'some content','var2' => 'doh' )); $opts = array('http' =>array('method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata) ); $context = stream_context_create($opts); $result = file_get_contents('http://example.com/submit.php', false, $context); ``` ## 3.FTP context options — FTP context option listing 说明:提供给 ftp:// 和 ftps:// 传输协议的 context 选项 可选项 - **overwrite**:远程服务器上允许覆盖已经存在的文件。只适用于编写模式(上传)。默认false - **resume_pos:**开始传输文件偏移量。只适用于读模式(下载)。 默认为0 - **Proxy:**代理FTP请求通过http代理服务器。适用于文件只读取操作。 ## 4.SSL 上下文选项 — SSL 上下文选项清单 说明:ssl:// 和 tls:// 传输协议上下文选项清单。 可选项 - **peer_name:**要连接的服务器名称。 - **verify_peer:**是否需要验证 SSL 证书。默认值为 FALSE. - **verify_peer_name:**需要验证的同伴的名字。默认值为 TRUE. - **allow_self_signed:**是否允许自签名证书。默认值为 FALSE - **cafile:**true表示用来验证远端证书所用到的 CA 证书。本选项值为 CA 证书在本地文件系统的全路径及文件名。 - **Capath:** 如果未设置 cafile,或者 cafile 所指的文件不存在时, 会在 capath 所指定的目录搜索适用的证书。 该目录必须是已经经过哈希处理的证书目录。 - **local_cert**:本地证书路径。 必须是 PEM 格式,并且包含本地的证书及私钥。 也可以包含证书颁发者证书链。 也可以通过 local_pk 指定包含私钥的独立文件。 - **local_pk**:如果使用独立的文件来存储证书(local_cert)和私钥, 那么使用此选项来指明私钥文件的路径。 - **Passphrase:**local_cert 文件的密码。 - **CN_match:**期望远端证书的 CN 名称。 PHP 会进行有限的通配符匹配, 如果服务器给出的 CN 名称和本地访问的名称不匹配,则视为连接失败。Note: 在PHP 5.6.0中,这个选项已废弃,替换为 peer_name。 - **verify_depth:**如果证书链条层次太深,超过了本选项的设定值,则终止验证。默认情况下不限制证书链条层次深度。 - **Ciphers**:设置可用的密码列表。默认值为 DEFAULT. - **capture_peer_cert:**如果设置为 TRUE 将会在上下文中创建 peer_certificate 选项, 该选项中包含远端证书。 - **capture_peer_cert_chain :**如果设置为 TRUE 将会在上下文中创建 - **peer_certificate_chain:** 该选项中包含远端证书链条。 - **SNI_enabled:**设置为 TRUE 将启用服务器名称指示(server name indication)。 启用 SNI 将允许同一 IP 地址使用多个证书。 - **SNI_server_name:**如果设置此参数,那么其设置值将被视为 SNI 服务器名称。 如果未设置,那么服务器名称将基于打开 SSL 流的主机名称猜测得出。Note: 在PHP 5.6.0中,这个选项已废弃,替换为 peer_name。 - **disable_compression:**如果设置,则禁用 TLS 压缩,有助于减轻恶意攻击。 - **peer_fingerprint:**当远程服务器证书的摘要和指定的散列值不相同的时候, 终止操作。当使用 string 时, 会根据字符串的长度来检测所使用的散列算法:“md5”(32 字节)还是“sha1”(40 字节)。当使用 array 时, 数组的键表示散列算法名称,其对应的值是预期的摘要值。 ## 5.CURL context options — CURL 上下文选项列表 说明:CURL 上下文选项在 CURL 扩展被编译(通过 --with-curlwrappers configure选项)时可用 可选项: - **method:**get,post,或者其他远程服务器支持的 http 方法。默认为 get. - **header:** 额外的请求标头。。 - **user_agent:**设置请求时 user-agent 标头的值。默认为 php.ini 中的 user_agent 设定。 - **content :**在头部之后发送的额外数据。这个选项在 get 和 head 请求中不使用。 - **proxy :**uri,用于指定代理服务器的地址。 - **max_redirects :**最大重定向次数。1 或者更小则代表不会跟随重定向。默认为 20. - **curl_verify_ssl_host :**校验服务器。默认为 false - **curl_verify_ssl_peer :**要求对使用的ssl证书进行校验。默认为 false ## 6.Phar 上下文(context)选项 — Phar 上下文(context)选项列表 说明 phar:// 封装(wrapper)的上下文(context)选项。 可选项 - **Compress:**Phar compression constants 中的一个。 - **metadata :**Phar 元数据(metadata)。查看 Phar::setMetadata()。 ## 7.MongoDB context options — MongoDB context option listing ## 8.Context 参数 — Context 参数列表
顶部
收展
底部
[TOC]
目录
PHP基础 第一章 基本语法
PHP基础 第二章 类型
PHP基础 第三章 变量
PHP基础 第四章 常量
PHP基础 第五章 运算符
PHP基础 第六章 流程控制
PHP基础 第七章 函数
PHP基础 第八章 命名空间
PHP基础 第九章 异常与错误
PHP基础 第十章 类与对象
PHP基础 第十一章 生成器
PHP基础 第十二章 引用
PHP基础 第十三章 预定义变量
PHP基础 第十四章 上下文(Context)选项和参数
PHP基础 第十五章 支持的协议和封装协议
PHP基础 第十六章 安全
PHP基础 第十七 章 特点
PHP基础 第十八章 PHP 核心:骇客指南
PHP基础 第十九章 核心配置选项列表
相关推荐
PHP函数
PHP设计模式
PHP算法
PHP版本