Sonstige Änderungen

Meldungen und Warnungen bei Rechenoperationen mit ungültigen Zeichenketten

Es wurden neue Fehler der Stufen E_WARNING und E_NOTICE hinzugefügt, die ausgelöst werden, wenn mit Operatoren, die Zahlen erwarten (+ - * / ** % << >> | & ^) oder mit deren entsprechenden Zuweisungen ungültige Zeichenketten erzwungen werden. Ein Fehler der Stufe E_NOTICE wird ausgelöst, wenn eine Zeichenkette mit einem numerischen Wert beginnt, aber nachfolgende nicht-numerische Zeichen enthält, und ein Fehler der Stufe E_WARNING wird ausgelöst, wenn eine Zeichenkette keinen numerischen Wert enthält.

<?php
'1b' 'something';

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Notice: A non well formed numeric value encountered in %s on line %d
Warning: A non-numeric value encountered in %s on line %d

Warnung beim Überlauf einer oktalen Maskierungs-Sequenz

Bisher wurde keine Warnung ausgegeben, wenn eine Maskierungs-Sequenz in oktaler Notation überlief. Nun läuft sie immer noch über, löst aber in diesem Fall einen Fehler der Stufe E_WARNING aus.

<?php
var_dump
("\500");

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Warning: Octal escape sequence overflow \500 is greater than \377 in %s on line %d
string(1) "@"

Unstimmigkeiten bei $this behoben

Während $this in PHP als spezielle Variable betrachtet wird, fehlte es an geeigneten Überprüfungen, um sicherzustellen, dass es nicht als Variablenname verwendet oder neu zugewiesen wird. Dies wurde nun korrigiert, sodass $this keine benutzerdefinierte Variable mehr sein kann, keinen anderern Wert zugewiesen bekommt und nicht mehr globalisiert werden kann.

Erzeugung von Session-IDs ohne Hashing

Session-IDs werden bei der Erzeugung nicht mehr gehasht. Wegen dieser Änderung wurden die folgenden vier INI-Einstellungen entfernt:

  • session.entropy_file
  • session.entropy_length
  • session.hash_function
  • session.hash_bits_per_character

Außerdem wurden die folgenden zwei neuen INI-Einstellungen hinzugefügt:

  • session.sid_length - definiert die Länge der Session-ID. Aus Gründen der Abwärtskompatibilität ist der Standardwert 32 Zeichen.
  • session.sid_bits_per_character - definiert die Anzahl von Bits, die pro Zeichen gespeichert werden sollen (d. h. mit diesem Wert kann der für die Session-ID zulässige Wertebereich erlaubter Zeichen erhöht werden). Aus Gründen der Abwärtskompatibilität ist der Standardwert 4.

Änderungen bei der Handhabung von INI-Dateien

precision

Wenn der Wert auf -1 gesetzt wird, dann wird der dtoa-Modus 0 verwendet. Der Standardwert ist weiterhin 14.

serialize_precision

Wenn der Wert auf -1 gesetzt wird, dann wird der dtoa-Modus 0 verwendet. Der Standardwert ist nun -1.

gd.jpeg_ignore_warning

Der Standardwert für diese php.ini-Einstellung wurde auf 1 geändert, sodass libjpeg-Warnungen in der Standardeinstellung ignoriert werden.

opcache.enable_cli

Der Standardwert für diese php.ini-Einstellung wurde in PHP 7.1.2 auf 1 (aktiviert) gesetzt und in PHP 7.1.7 wieder auf 0 (deaktiviert).

Erzeugung der Session-ID nur mit einem CSPRNG

Session-IDs werden nun nur noch mit einem CSPRNG erzeugt.

Aussagekräftigere TypeError-Meldungen, wenn null erlaubt ist

Bei Typüberprüfungen durch arg_info geben TypeError-Exceptions nun aussagekräftigere Fehlermeldungen aus. Wenn der Parametertyp oder der Rückgabetyp null akzeptiert (indem er entweder einen Standardwert von null hat oder ein nullable-Typ ist), dann wird dies nun in der Fehlermeldung mit einem Hinweis wie "must be ... or null" oder "must ... or be null" erwähnt.

Hier Kannst Du einen Kommentar verfassen


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

Technisches SEO bleibt relevant

Technisches SEO – Was ist das überhaupt? Technisches SEO bezieht sich auf die Optimierung der technischen Aspekte deiner Webseite. Das Ziel ist klar! ...

admin

Autor : admin
Kategorie: SEO & Online-Marketing

Was ist neu in der PHP 8.2.10

PHP 8.2.10 ist eine der neuesten Versionen von PHP, die eine Reihe von Verbesserungen und neuen Funktionen mit sich bringt. In diesem Artikel werden wir einige der herausragenden Neuerungen und Verbesserungen dieser Version diskutieren. ...

admin

Autor : admin
Kategorie: Software-Updates

Total Commander 11.00 (final) ist verfügbar!

Total Commander, ein beliebter Datei-Manager, hat kürzlich seine neueste Version, 11.00, veröffentlicht. Mit einer Vielzahl von neuen Funktionen und Korrekturen bietet diese Version den Benutzern ein verbessertes und optimiertes Erlebnis. ...

admin

Autor : admin
Kategorie: Software-Updates

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

Warning: Undefined variabl

völlig übersehen, ja der code müssste mal überrbeitet werden. mit http_client ... ect. gut zu wissen. hat sich ja doch mehr verändert als ged ...

Geschrieben von derneue1 am 20.02.2024 00:00:45
Forum: PHP Developer Forum
Warning: Undefined variabl

Ähm, die weißt schon, dass wir hier von Grundlagen reden, oder? if ($new)​ if (isset($new))​ $ers["username"] = "" . $ers["username"] . ...

Geschrieben von scatello am 19.02.2024 21:00:38
Forum: PHP Developer Forum
Warning: Undefined variabl

ok, das geht. eigentlich war das reporting vorher auch immer an, komisch. und wie sieht das hier aus ? Warning: Undefined variable $new in /var/ww ...

Geschrieben von derneue1 am 19.02.2024 18:55:03
Forum: PHP Developer Forum
Warning: Undefined variabl

ich bunutze schon lange ein script was immer funktioniert hat. Das lag aber nur daran, dass du das Error-Reporting nicht hochgedreht hast, denn da ...

Geschrieben von scatello am 19.02.2024 17:59:56
Forum: PHP Developer Forum