## Geänderte Funktionen

### PHP Core

- crypt() ruft nun einen Fehler der Stufe `E_NOTICE` hervor, wenn der Parameter `salt` ausgelassen wird.
- substr_compare() akzeptiert nun auch `0` als Wert für den Parameter `length`.
- unserialize() schlägt nun fehl, wenn serialisierte Daten übergeben werden, welche so manipuliert wurden, dass ein Objekt erzeugt werden soll ohne dessen Konstruktor aufzurufen.

### cURL

- Uploads mittels der `@file`-Syntax werden nun nur noch unterstützt, wenn die Option `CURLOPT_SAFE_UPLOAD` auf `false` gestellt wird. Es sollte stattdessen CURLFile verwendet werden.

### Mcrypt

- Der Parameter `source` von mcrypt_create_iv() hat nun einen Standardwert von `MCRYPT_DEV_URANDOM` anstelle von `MCRYPT_DEV_RANDOM`.

### OpenSSL

- Der Parameter `crypto_type` von stream_socket_enable_crypto() kann nun optional sein, wenn der SSL-Kontext des Streams die neue Option `crypto_type` enthält.

### PostgreSQL

- pg_insert(), pg_select(), pg_update() und pg_delete() sind nicht länger experimentell.
- pg_send_execute(), pg_send_prepare(), pg_send_query() und pg_send_query_params() blockieren nicht mehr bis die Schreiboperation der Abfrage abgeschlossen ist, wenn der zugrunde liegende Socket-Stream der Datenbankverbindung auf einen nicht blockierenden Modus eingestellt ist.

### Reflection

- ReflectionClass::newInstanceWithoutConstructor() erlaubt nun die Instanziierung von nicht-finalen internen Klassen.

### XMLReader

- XMLReader::getAttributeNs() und XMLReader::getAttributeNo() geben nun, wie XMLReader::getAttribute() `null` zurück, wenn das Attribut nicht gefunden wurde.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open