Шифрующие фильтры
Unix-сокеты: UNIX и UDG
Appendices
PHP Manual

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

## Содержание

- Unix-сокеты: UNIX и UDG

Нижеследующий список содержит информацию о протоколах передачи встроенных в 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 он может быть представлен как модуль.

Параметры для протоколов 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
Appendices
PHP Manual