Sonstige Änderungen

PHP-Kern

Set(raw)cookie akzeptiert den Parameter $option

Die Funktionen setcookie() und setrawcookie() unterstützen nun auch die folgende Signatur:

setcookie(string $name, string $value = "", array $options = []): bool
wobei $options ein assoziatives Array ist, das die folgenden Schlüssel haben kann: "expires", "path", "domain", "secure", "httponly" und "samesite".

Neue INI-Direktiven für Syslog

Die folgenden INI-Direktiven wurden hinzugefügt, um die Protokollierung anzupassen, wenn error_log auf syslog gesetzt ist:

syslog.facility
Gibt an, welche Art von Programm die Nachricht protokolliert.
syslog.filter
Gibt den Filtertyp zum Filtern der protokollierten Nachrichten an. Die unterstützten Filtertypen sind all, no-ctrl und ascii. Seit PHP 7.3.8 steht außerdem raw zur Verfügung und stellt das Verhalten von syslog aus früheren PHP-Versionen wieder her. Dieser Filter wirkt sich auch auf Aufrufe von syslog() aus.
syslog.ident
Gibt die ident-Zeichenkette an, die jeder Meldung vorangestellt wird.

Garbage-Collection

Die zyklische GC wurde verbessert, was zu erheblichen Leistungsverbesserungen führen kann.

Verschiedenes

Die Funktion var_export() exportiert stdClass-Objekte nun als Array, das in ein Objekt umgewandelt wird ((object) array( ... )), anstatt die nicht existierende Methode stdClass::__setState() zu verwenden.

Die Funktion debug_zval_dump() wurde geändert, um rekursive Arrays und Objekte auf die gleiche Weise anzuzeigen wie var_dump(). Damit werden sie nun nicht mehr doppelt angezeigt.

Die Funktionen array_push() und array_unshift() können nun auch mit einem einzigen Parameter aufgerufen werden. Dies ist besonders nützlich in Verbindung mit dem Spread-Operator (Zerlegungsoperator).

Interaktiver PHP-Debugger

Die nicht verwendeten Konstanten PHPDBG_FILE, PHPDBG_METHOD, PHPDBG_LINENO und PHPDBG_FUNC wurden entfernt.

FastCGI-Prozessmanager (FPM)

Die Funktion getallheaders() ist nun ebenfalls verfügbar.

Client-URL-Bibliothek (cURL)

libcurl ≥ 7.15.5 ist nun erforderlich.

Datenfilterung

Der Filter FILTER_VALIDATE_FLOAT unterstützt nun auch die Option thousand, die die erlaubten Tausendertrennzeichen definiert. Die Voreinstellung ("',.") ist vollständig abwärtskompatibel mit früheren PHP-Versionen.

Der Filter FILTER_SANITIZE_ADD_SLASHES wurde als Alias des magic_quotes-Filters (FILTER_SANITIZE_MAGIC_QUOTES) hinzugefügt. Der magic_quotes-Filter wird voraussichtlich in zukünftigen PHP-Versionen entfernt.

FTP

Der Standard-Übertragungsmodus ist nun binary.

Funktionen für die Internationalisierung

Die Konstante Normalizer::NONE ist veraltet, wenn PHP mit einer ICU-Version ≥ 56 kompiliert wurde.

Bei der Methode Normalizer::normalize() wurde die Konstante Normalizer::FORM_KC_CF als Parameter für die NFKC_Casefold-Normalisierung hinzugefügt; sie ist verfügbar mit ICU ≥ 56.

JavaScript Object Notation (JSON)

Das neue Flag JSON_THROW_ON_ERROR wurde hinzugefügt, das in den Funktionen json_decode() und json_encode() verwendet werden kann. Es bewirkt, dass diese Funktionen bei einem Fehler die neue JsonException auslösen, anstatt den globalen Fehlerstatus zu setzen, der mit json_last_error() und json_last_error_msg() abgerufen wird. JSON_PARTIAL_OUTPUT_ON_ERROR hat Vorrang vor JSON_THROW_ON_ERROR.

Multibyte-Zeichenketten

Die Konfigurationsoption --with-libmbfl ist nicht mehr verfügbar.

ODBC (Unified)

Die Unterstützung für ODBCRouter und Birdstep einschließlich der INI-Direktive birdstep.max_links wurde entfernt.

OPcache

Die INI-Direktive opcache.inherited_hack wurde entfernt. Der Wert wurde bereits seit PHP 5.3.0 ignoriert.

OpenSSL

Die SSL-Stream-Optionen min_proto_version und max_proto_version sowie die zugehörigen Konstanten für mögliche TLS-Protokollwerte wurden hinzugefügt.

Reguläre Ausdrücke (Perl-kompatibel)

Die Erweiterung PCRE wurde auf PCRE2 aktualisiert, was zu kleineren Änderungen im Verhalten führen kann (zum Beispiel werden Zeichenbereiche in Klassen nun strenger interpretiert) und die bestehende Syntax für reguläre Ausdrücke erweitert.

Die Funktion preg_quote() maskiert nun auch das '#'-Zeichen.

Microsoft SQL Server und Sybase-Funktionen (PDO_DBLIB)

Die Eigenschaft PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS wurde hinzugefügt, um leere Datensätze automatisch überspringen zu können.

Die Eigenschaft PDO::DBLIB_ATTR_TDS_VERSION, die die TDS-Version angibt, wurde hinzugefügt.

DATETIME2-Spalten werden nun genauso behandelt wie DATETIME-Spalten.

SQLite-Funktionen (PDO_SQLITE)

SQLite3-Datenbanken können nun im Nur-Lese-Modus geöffnet werden, indem die neue Eigenschaft PDO::SQLITE_ATTR_OPEN_FLAGS auf PDO::SQLITE_OPEN_READONLY gesetzt wird.

Handhabung von Sessions

Die Funktion session_set_cookie_params() unterstützt nun auch die folgende Signatur:

session_set_cookie_params(array $options): bool
wobei $options ein assoziatives Array ist, das folgende Schlüssel haben kann: "lifetime", "path", "domain", "secure", "httponly" und "samesite". Dementsprechend enthält der Rückgabewert der Funktion session_get_cookie_params() nun auch ein Element mit dem Schlüssel "samesite". Außerdem wurde die neue INI-Option session.cookie_samesite hinzugefügt, um die Standardeinstellung der SameSite-Direktive für Cookies festzulegen. Ihr Standardwert ist "" (die leere Zeichenkette), sodass keine SameSite-Anweisung gesetzt wird. Dieser Wert kann auf "Lax" oder "Strict" gesetzt werden, wodurch die entsprechende SameSite-Richtlinie gesetzt wird.

Tidy

PHP mit » tidyp zu kompilieren, wird nun auch transparent unterstützt. Da tidyp keine API bietet, um das Veröffentlichungsdatum abzurufen, geben die Funktionen tidy_get_release() und tidy::getRelease() in diesem Fall 'unknown' zurück.

XML-Parser

Wenn die Erweiterung gegen libxml kompiliert wurde, wird der Rückgabewert des Callbacks der Funktion xml_set_external_entity_ref_handler() nicht mehr ignoriert. Zuvor wurde der Rückgabewert ignoriert und das Parsen wurde nie beendet.

Zip

Es wird davon abgeraten, gegen die mit PHP mitgelieferte libzip zu kompilieren, aber es ist dennoch möglich, indem die Option --without-libzip zur Konfiguration hinzugefügt wird.

Komprimierung mit Zlib

Für den compress.zlib-Wrapper wurde die Kontextoption zlib/level hinzugefügt, um die Einstellung der gewünschten Kompressionsstufe zu erleichtern.

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Midjourney Tutorial - Anleitung für Anfänger

Über Midjourney, dem Tool zur Erstellung digitaler Bilder mithilfe von künstlicher Intelligenz, gibt es ein informatives Video mit dem Titel "Midjourney Tutorial auf Deutsch - Anleitung für Anfänger" ...

Mike94

Autor : Mike94
Kategorie: KI Tutorials

Grundlagen von Views in MySQL

Views in einer MySQL-Datenbank bieten die Möglichkeit, eine virtuelle Tabelle basierend auf dem Ergebnis einer SQL-Abfrage zu erstellen. ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Ein data POST via Curl funktioniert nicht.

Anmorg93 Respekt, du bist ja nur um rund 10 Jahre zu spät dran.

Geschrieben von scatello am 21.11.2024 10:57:00
Forum: PHP Developer Forum
Ein data POST via Curl funktioniert nicht.

Hey, hatte auch mal das Problem. Oft liegt’s an fehlenden oder falschen Headern. Probier mal:​ $ch = curl_init(); curl_setopt($ch, CURLOPT_UR ...

Geschrieben von Anmorg93 am 21.11.2024 10:48:17
Forum: PHP Developer Forum
Probleme mit einem Linux-Befehl...

guten Tag liebe Community ;) hallo liebe Freunde auf der php-Ressource, hoffe, das landet im richtigen Unterforum also, womit ich im Moment zu ...

Geschrieben von dhubs am 15.11.2024 16:21:52
Forum: Off-Topic Diskussionen
ein .htaccess-File für eine WordPress-Installation - wie gehe ich hier vor.?

hallo und guten Tag, wie lege ich denn einen .htaccess für eine WordPress-Installation an - wie gehe ich hier vor. Kann man das denn so mache ...

Geschrieben von dhubs am 13.11.2024 15:52:54
Forum: Webmaster