Нижеследующий список содержит информацию о протоколах передачи встроенных в PHP и готовых для использования в функциями работы с сокетами, такими как fsockopen() и stream_socket_client(). Эти протоколы не применяются в Расширении для работы с Сокетами.
Для получения списка поддерживаемых протоколов передачи, встроенных в вашу версию PHP, используйте функцию stream_get_transports().
PHP 3, PHP 4. ssl:// и tls:// начиная с PHP 4.3
Note: Если транспортный протокол не указан, будет использован tcp://.
Интернет-сокеты требуют указания порта в дополнение к адресу. В случае fsockopen(), порт передаётся вторым параметром и не затрагивает строку адреса. При работе с stream_socket_client() и другими близкими функциями, как и в случае со стандартными URL, порт указывается в конце адреса, отделённый двоеточием.
Note: IPv6 численные адреса с указанием порта Во втором примере выше, IPv6 адрес, заключён в квадратные скобки: [fe80::1]. Это сделано для того, чтобы отличить двоеточие в адресе от двоеточия при указании порта.
Протоколы ssl:// and tls:// (доступные только если поддержка openssl включена в PHP) являются расширениями tcp://, дополняющими его SSL-шифрованием. Начиная с PHP 4.3.0, для работы с ssl-протоколами, PHP должен быть собран с поддержкой OpenSSL, в PHP 5.0.0 он может быть представлен как модуль.
Имя | Использование | По умолчанию |
---|---|---|
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 будет сравнивать, используя вайлд-карды. Если общее название не подходит, соединение будет разорвано. |
Note: Постольку поскольку ssl:// протокол является базисом для https:// и ftps:// врапперов, все директивы ssl:// применяются как для https://, так и для ftps://.