PHP Doku:: Internet Domain: TCP, UDP, SSL und TLS - transports.inet.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchAppendicesListe der unterstützten Socket-TransporterInternet Domain: TCP, UDP, SSL und TLS

Ein Service von Reinhard Neidl - Webprogrammierung.

Liste der unterstützten Socket-Transporter

<<Liste der unterstützten Socket-Transporter

Unix-Domain: Unix und UDG>>

Internet Domain: TCP, UDP, SSL und TLS

PHP 4, PHP 5, PHP 6. ssl:// & tls:// since PHP 4.3.0 sslv2:// & sslv3:// since PHP 5.0.2

Hinweis: Wird kein Transporter angegeben, so wird tcp:// angenommen.

Internet-Domain-Sockets erwarten zusätzlich zur Zieladresse eine Portnummer. Im Fall von fsockopen() wird diese als zweiter Parameter übergeben und beeinflusst so nicht die Formatierung der Transporter-URL. Bei stream_socket_client() und damit zusammenhängenden Funktionen wird die Portnummer dagegen, wie in URLs üblich, von einem Doppelpunkt getrennt an den URL angehängt.

Hinweis: Numerische IPv6-Adressen mit Portnummern
Während im vorangegangenen Beispiel an die IPv4- und Hostname-Einträge nur der Doppelpunkt und die Portnummer angehängt wurden, ist die IPv6-Adresse in der zweiten Zeile zusätzlich in eckige Klammern gesetzt worden: [fe80::1]. Dies dient dazu, zwischen den Doppelpunkten in der IPv6-Adresse selbst und dem Trennzeichen zwischen Adresse und Portnummer unterscheiden zu können.

Die ssl://- und tls://-Transporter erweitern den tcp://-Transporter um SSL-Verschlüsselung (nur verfügbar, wenn PHP mit OpenSSL-Unterstützung kompiliert wurde). Beginnend mit PHP 4.3.0 kann OpenSSL-Unterstützung statisch in PHP eingebunden werden, ab PHP 5.0.0 wahlweise auch als dynamisch ladbares Modul.

ssl:// versucht je nach Fähigkeiten und Vorlieben des Kommunikationspartners eine SSL-V2- oder -V3-Verbindung herzustellen. sslv2:// und sslv3: erzwingen explizit die Nutzung des SSL-V2-bzw. -V3-Protokolls.


2 BenutzerBeiträge:
- Beiträge aktualisieren...
stefan at example dot com
20.08.2010 14:42
Actually, PHP is very able to start with an unencrypted connection and then switch to an encrypted one - refer to http://php.net/stream_socket_enable_crypto .
pablo dot livardo at gmail dot com
9.12.2009 18:56
I've been having a problem with a TLS connection.

<?php
$fp
= fsockopen("tls://mail.example.com", 587, $errno, $errstr);
?>

Which gives me an error of:

SSL operation failed with code 1. OpenSSL Error messages: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number

I believe this is caused by PHP not being able to start with an unencrypted connection and then switch to encryption even though the functionality is built into OpenSSL.

For Google Mail users you can avoid this by using port 465 instead of 587.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)