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

Содержание
Интернет-сокеты: TCP, UDP, SSL, and TLS
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://.

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

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://.