|
Нижеследующий список содержит информацию о протоколах передачи встроенных в
PHP и готовых для использования в функциями работы с сокетами, такими как
fsockopen() и
stream_socket_client(). Эти протоколы
не применяются в
Расширении для работы с Сокетами.
Для получения списка поддерживаемых протоколов передачи, встроенных в вашу версию
PHP, используйте функцию stream_get_transports().
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://.
| |