Einführung in die Leistung der PHP7.2-Version
Dieser Artikel stellt Ihnen hauptsächlich die Leistung der PHP7.2-Version im Detail vor und hofft, allen zu einem besseren Verständnis von PHP7.2 zu verhelfen.
1. Abwärtsinkompatible Änderungen
Kern:
Für geschlossene Ressourcen gibt die Funktion gettype() die Ressource (geschlossen) zurück ) und ersetzt den vorherigen unbekannter Typ.
Für __PHP_Incomplete_Class Klassenobjekt, is_object Das ( )-Funktion gibt true zurück.
Unterstützung für Netware OS entfernen.
Array-Typ wird in Objekttyp konvertiert ((object) oder settype( ) ) wird der Ganzzahlschlüssel in einen Attributnamen umgewandelt, wodurch das Problem behoben wird, dass die Ziffernschlüssel in früheren Versionen nicht als Attributnamen verwendet werden können.
Objekttyp wird in Array-Typ konvertiert ((array) oder settype( ) ( Das Problem unzugänglicher Integer-Eigenschaften. Unqualifizierter Verweis auf eine undefinierte Konstante führt zu einem Fehler der Warnstufe, der die vorherige Hinweisstufe ersetzt.
Die mindestens unterstützten Windows-Versionen sind Windows 7 und Windows Server 2008 R2.
-
Bricht das Kompatibilitätsprüfungsverhalten nativer
Merkmals - -Attributwerte ab.
Objekt
- wird nicht als Klassenname verwendet. <🎜> Die Funktion
fmod() ist die gleiche, die Funktion bcmod()
bricht die Modulo-Operation ab (%) , das heißt, der Dezimalteil des Werts wird in eine Ganzzahl gekürzt. Beispiel:
gibt 0,5 statt 1 zurück.
-
Hashhash_hmac (), hash_hmac_file(),
hash_pbkdf2()
hash_init() (wenn der Optionsparameter
HASH_HMAC- ist), unterstützen diese Funktionen keine unverschlüsselten Hash-Funktionen mehr.
JSONWann json_decode()Wenn der zweite Parameter assoc der Funktion null ist, wird JSON_OBJECT_AS_ARRAY
in den Optionen zur Unterstützung aktiviert Dieser Parameter wurde von uns in der Version ignoriert.
Sitzung
-
Verschieben Zusätzlich zu register_globals-bezogenen Codes kann „!“ im Schlüsselnamen von $_SESSION
verwendet werden.
Sitzung
- wird verwendet, um den Sitzungsstatus korrekt zu verwalten und ungültige Vorgänge zu verhindern, wenn ein Problem auftritt Wenn Sie den Code eingeben, wird die Änderung ausgelöst. Wenn dieses Problem leider auftritt, liegt ein Problem mit Ihrem Code vor.
session_start(), session_status()
, session_regenerate_id(), diese Funktionen werden verwendet, um den richtigen Sitzungsstatus festzulegen oder zurückzugeben.
session_unset(), session_write_close()/ session_commit(), session_abort(), session_reset(), diese Funktionen geben keinen Rückgabewert zurück ein boolescher Wert. Sie lassen leere Parameter zu und prüfen, ob diese leer sind.
session_start(), session_set_cookie_params(), session_name(), session_module_name(), session_set_save_handler(), session_regenerate_id(), session_cache_limiter(), session_cache_expire(), session_unset(), session_destroy(), session_write_close()/ session_commit(), session_reset(), diese Funktionen deaktivieren den ungültigen Sitzungsstatus und den HTTP-Header-Status und geben den richtigen booleschen Wert oder numerischen Wert zurück.
session.name, session.save_path, session.cookie_lifetime,session.cookie_path, session.cookie_domain,session.cookie_httponly, session.cookie_secure, session.use_cookies, session.use_only_cookies, session.use_strict_mode, session.referer_check, session.cache_limiter, session.cache_expire, session.lazy_write, session. save_handler, session.serialize_handler, session.gc_probability, session.gc_pior, session.gc_maxlifetime, die Einstellung dieser INI-Werte muss erfolgreich durch ini_set() Funktion, ungültige INI-Änderungsvorgänge sind nicht erfolgreich.
Da die Sitzung korrekt verwaltet werden kann (session_start()), teilweise Fehlermeldungen der Stufe E_ERROR werden in die Stufe E_WARNING konvertiert.
Sitzungen werden nicht mehr mit ungültigen und nutzlosen Sitzungen initialisiert
-
Wenn die Header-Informationen gesendet wurden, ist das Festlegen des neuen INI-Werts zu diesem Zeitpunkt ungültig (über session_name(), session_module_name(), session_save_path(), session_cache_limiter() und session_cache_expire() Diese Funktionen).
Diese korrekten Verhaltensweisen wirken sich jetzt auf den Status von Verwaltungssitzungen im CLI-Befehlszeilenmodus aus. Durch die Verwendung der Ausgabepufferung wie in Webanwendungen wird das Problem mit CLI-Skripten gelöst.
Standard
Seit Version 7.1 , Auf einer 64-Bit-Maschine kann die Reihenfolge der vonmt_rand() und rand() generierten Zufallszahlen des gleichen Startwerts sein anders sein.
2. Neue Funktionen
Kern
Beim Überschreiben einer Methode oder Schnittstelle wird der Parametertyp weggelassen. Dies gehorcht der Kontravarianz des Parametertyps des Liskov-Gleichgewichtsprinzips.
Ermöglicht der geerbten abstrakten Klasse, die abstrakte Methode der geerbten abstrakten Klasse zu überschreiben.
Ermöglicht nachgestellte Kommas zum Gruppieren von Namespaces.
Objekttypanmerkungen sind zulässig. Implementierung Unterstützung für LMDB-Backend hinzugefügt.
JSON
-
in
json_encode()
json_decode() Unterstützung für
JSON_INVALID_IGNORE- und >
JSON_INVALTD_UTF8_SUBSTITUTE Unterstützung, die den vorherigen UTF-8-codierten ungültigen Typ ersetzt. OCI8Hinzugefügt Bietet Unterstützung für Transparent Application Failover (TAF) der Oracle-Datenbank.
PCRE
Hinzugefügt Die interne Option (j) wurde hinzugefügt, um die lokale Option PCRE_DUPNAMES
zu ändern. Neue Verschlüsselungserweiterung. Implementierung zum Schreiben von BLOBs.
Standard
Wann Beim Kompilieren von PHP mit libargon2 wurde die vereinfachte Passwort-Hashing-API aktualisiert, um Argon2 zu unterstützen.
Windows-Plattform unterstützt die Funktion proc_nice().
Zip
Lesen /Verschlüsseltes Archiv schreiben, abhängig von libzip 1.2.0, Neue Methode:
- ZipArchive:: setEncryptionName($name, $method[,$password]); ZipArchive::setEncryptionIndex($index, $method[ , $ Passwort]);
Neue Konstanten: ZipArchive:: EM_NONE ZipArchive:: EM_AES_128 ZipArchive:: EM_AES_192 ZipArchive:: EM_AES_2 56
Akzeptiert „Passwort“ aus dem Zip-Stream-Kontext.
ZipArchive implementiert die Zählbarkeit und fügt die Methode ZipArchive::count() hinzu.
3. SAPI-Moduländerungen
Die folgenden Funktionen werden in der PHP8.0-Version nicht mehr unterstützt.
KernFehler in der Konfigurationsdatei werden verfolgt Verlassen werden.
-
__autoload()
wird veraltet sein, verwenden Sie - spl_autoload_register()
stattdessen.
wird nicht mehr unterstützt. Diese Änderung hat keine Auswirkungen auf unscharf (. $var)
Sprachstruktur.
create_function()
Die Funktion wird veraltet sein und stattdessen eine anonyme Funktion verwenden.
- each()
Funktionsstruktur wird veraltet sein, verwenden Sie foreach()
Schleife stattdessen. Exif
- read_exif_data ()
wird veraltet sein, verwenden Sie stattdessen exif_read_data().
GD png2wbmp() und jpeg2wbmp() werden veraltet sein.
GMP
gmp_random () wird veraltet sein, verwenden Sie stattdessen gmp_random_bits() oder ().
Intl
INTL_IDNA_VARIANT_2003 wird veraltet sein, verwenden Sie stattdessen INTL_IDNA_VARIANT_UTS46.
Mbstring
mbstring Die Konfigurationsdatei von .func_overload wird verworfen.
Standard
Nr Zum Aufrufen von parse_str() werden Argumente benötigt, die verworfen werden.
Der Aufruf von assert() mit einem String-Argument ist veraltet und stattdessen werden reguläre Ausdrücke verwendet.
5. Geänderte Funktionen
Standard
Bei Einstellung auf PASSWORD_ARGON2I, password_hash() kann Argon2-Hashes generieren.
Bei Verwendung von PASSWORD_ARGON2I können die folgenden Optionen standardmäßig eingestellt sein: memory_cost ,Zeitkosten. Der Standardwert für diese Optionen ist PASSWORD_ARGON2_DEFAULT_MEMORY_COST. Wenn nicht festgelegt, sind die Standardeinstellungen PASSWORD_ARGON2_DEFAULT_TIME_COST und PASSWORD_ARGON2_DEFAULT_THREADS.
password_verify() kann Argon2-Hashes überprüfen.
password_get_info() und password_needs_rehash() können Akzeptiert Argon2-Hashes.
mail()/mb_send_mail()Array akzeptieren$extra_header . Array-Parameter werden anhand von RFC 2822 überprüft. Array-Format: php $extra_headers = [ 'Header-Name' => 'Header-Wert', 'Multiple' => FirstLinern SecondLine", ];
Wenn ein ungültiger Parameter übergeben wird, count()Die Funktion gibt eine Warnmeldung aus.
In Big-Endian- und Little-Endian-Bytereihenfolge, pack() und unpack() unterstützt Float- und Double-Typen.
number_format()Die Funktion stellt sicher, dass der Nullwert kein negatives Vorzeichen enthält.
XML
utf8_encode Die Funktionen () und utf8_decode() wurden als Strings in die Standarderweiterung verschoben.
6. Neue Funktionen
Kern
stream_istty() hinzugefügt.
Hinzugefügt sapi_windows_vt100_support().
DOM
DomNodeList implementiert Countable und fügt DomNodeList::count() hinzu.
DOMNamedNodeMap implementiert Countable und fügt DOMNamedNodeMap::count() hinzu.
FTP
Hinzugefügt ftp_append().
GD
Hinzugefügt imagesetclip() und imagegetclip().
imageopenpolygon() hinzugefügt.
imageresolution() hinzugefügt.
imagecreatefrombmp() und imagebmp( ) hinzugefügt .
Hash
Hinzugefügt hash_hmac_algos().
Mbstring
hinzugefügt mb_chr() und mb_ord().
mb_scrub hinzugefügt.
OCI8
Hinzugefügt oci_register_taf_callback() und oci_unregister_taf_callback() Unterstützung für Transparent Application Failover (TAF) von Oracle-Datenbanken hinzugefügt.
Steckdosen
hinzugefügt socket_addrinfo_lookup(), socket_addrinfo_connect(), socket_addrinfo_bind() und socket_addrinfo_explain().
SPL
Hinzugefügt spl_object_id().
7. Neue Klassen und Schnittstellen
8 Erweiterungen und SAPI >Die veraltete mcrypt-Erweiterung wurde nach PECL verschoben.
libmcrypt wurde seit 2007 nicht mehr gepflegt und es wird nicht empfohlen, diese Erweiterung weiterhin zu verwenden.
9. Weitere Änderungen an Erweiterungen
- EXIF
Exif-Tag-Unterstützung für die folgenden Formate hinzugefügt: Samsung, DJI, Panasonic, Sony, Pentax, Minolta, Sigma/Foveon, AGFA, Kyocera, Ricoh und Epson.
exif_read_data()
- und
exif_t humbnail() Unterstützt die Übergabe von Streams als erstes Argument.
GDUmzug Zusätzlich zur Konfigurationsoption
--enable-gd-native-ttf
.
imagegd()Speichert das Echtfarbenbild als Echtfarbenbild und ersetzt die vorherige Konvertierung in eine Farbkorrekturplatte . Beim Kompilieren mit System libgd wird auch
mageantialias()-
unterstützt.
Mbstring mb_check_encoding ()
akzeptiert ein Array-Argument und überprüft rekursiv seine Schlüssel und Werte.
- mb_convert_encoding()
Akzeptiert einen Array-Parameter, die Kodierung seines Werts kann rekursiv konvertiert werden.
PDO_OCI
-
--with-pdo-oci Die Konfigurationssyntax von ist für Oracle-Clients nicht mehr verfügbar. Verwenden Sie
sqlite3_prepare_v2()
sqlite3_close_v2(), um ihre vorherigen Funktionen zu ersetzen.
10. Neue globale KonstantenKern
PHP_FLOAT_DIG
PHP_FLOAT_EPSILON
- PHP_FLOAT_MIN
PHP_FLOAT_MAX
-
PHP_OS_FAMILY
FILEINFO_EXTENSION
GD
IMG_EFFECT_MULTIPLY
IMG_BMP
PCRE
PREG_UNMATCHED_AS_NULL
Standard:
PASSWORD_ARGON2_DEFAULT_MEMORY_COST
PASSWORD_ARGON2_DEFAULT_TIME_COST
- PASSWORD_ARGON2_DEFAULT_THREADS
PASSWORD_ARGON2I
Diese INI-Option wurde entfernt.
realpath_cache_size
Standard Es ist 4096k.
opcache.fast_shutdown
Diese INI-Option wurde entfernt. Eine Variante des Fast_shutdown-Handlings wurde in den PHP-Kernel integriert und wird in Produktionsumgebungen standardmäßig aktiviert.
12. Windows-Unterstützung
Unterstützt den VT100-Konsolenmodus.
13. Weitere Änderungen
Zusammenstellungssystem
Die minimal unterstützte Version von Autoconf ist 2.64.
Verwandte Empfehlungen: Wie installiere ich IIS, MySQ, Nginx, PHP7.1.7 unter Win10?
Einführung in neue Funktionen in PHP7Detaillierte Erklärung des Schlüssels zur Verdoppelung der Leistung von PHP7

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.