Руководство по PHP
Пред. |  | След.

# Приложение O. Список поддерживаемых транспортных протоколов

Нижеследующий список содержит информацию о протоколах передачи встроенных в PHP и готовых для использования в функциями работы с сокетами, такими как fsockopen() и stream_socket_client(). Эти протоколы не применяются в Расширении для работы с Сокетами.

Для получения списка поддерживаемых протоколов передачи, встроенных в вашу версию PHP, используйте функцию stream_get_transports().

# Интернет-сокеты: TCP, UDP, SSL, and TLS

PHP 3, PHP 4. ssl:// и tls:// начиная с PHP 4.3

> Замечание: Если транспортный протокол не указан, будет использован 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

- tls://www.example.com

Интернет-сокеты требуют указания порта в дополнение к адресу. В случае fsockopen(), порт передаётся вторым параметром и не затрагивает строку адреса. При работе с stream_socket_client() и другими близкими функциями, как и в случае со стандартными URL, порт указывается в конце адреса, отделённый двоеточием.

- tcp://127.0.0.1:80

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

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

> IPv6 численные адреса с указанием порта: Во втором примере выше, IPv6 адрес, заключён в квадратные скобки: [fe80::1]. Это сделано для того, чтобы отличить двоеточие в адресе от двоеточия при указании порта.

Протоколы ssl:// and tls:// (доступные только если поддержка openssl включена в PHP) являются расширениями tcp://, дополняющими его SSL-шифрованием. Начиная с PHP 4.3.0, для работы с ssl-протоколами, PHP должен быть собран с поддержкой OpenSSL, в PHP 5.0.0 он может быть представлен как модуль.

Таблица O-1. Параметры для протоколов ssl:// и tls:// (начиная с PHP 4.3.2)

Имя | Использование | По умолчанию |
verify_peer | `TRUE` или `FALSE`. Требует проверки SSL-сертификата. | `FALSE` |
allow_self_signed | `TRUE` или `FALSE`. Позволяет использовать само-подписанные сертификаты. | `FALSE` |
cafile | Расположение в локальной файловой системе файла сертификата, который будет использовать verify_peer для аутентифицирования идентификатора удалённого сервера(клиента). |  |
capath | Если cafile не указан, или сертификат не найден, поиск подходящего сертификата продолжается в директории capath. Значением директивы должен быть путь к директории, содержащей сертификаты. |  |
local_cert | Путь к локальному файлу сертификата. Это должен быть PEM-энкодированный файл, содержащий ваш сертификат и частный ключ. Опционально он может содержать цепочку сертфиикатов издателей. |  |
passphrase | Ключевое слово, по которому был энкодирован ваш local_cert. |  |
CN_match | Общее название (Common Name), которого мы ожидаем. PHP будет сравнивать, используя вайлд-карды. Если общее название не подходит, соединение будет разорвано. |  |

> Замечание: Постольку поскольку ssl:// протокол является базисом для https:// и ftps:// врапперов, все директивы ssl:// применяются как для https://, так и для ftps://.

Пред. | Начало | След.
Шифрующие фильтры | Уровень выше | Unix-сокеты: UNIX и UDG