PHP 7 - Kurzanleitung

Was ist PHP 7?

PHP 7 ist eine Hauptversion der PHP-Programmiersprache und wird als Revolution in der Art und Weise angepriesen, wie Webanwendungen für Unternehmen und die Cloud für Mobilgeräte entwickelt und bereitgestellt werden können. Diese Version gilt als die wichtigste Änderung für PHP nach der Veröffentlichung von PHP 5 im Jahr 2004.

Neue Eigenschaften

Es gibt Dutzende von Funktionen, die zu PHP 7 hinzugefügt wurden. Die wichtigsten sind unten aufgeführt.

  • Improved performance - Nachdem PHPNG-Code in PHP7 zusammengeführt wurde, ist er doppelt so schnell wie PHP 5.

  • Lower Memory Consumption - Optimiertes PHP 7 verbraucht weniger Ressourcen.

  • Scalar type declarations - Jetzt können Parameter- und Rückgabetypen erzwungen werden.

  • Consistent 64-bit support - Konsistente Unterstützung für 64-Bit-Architekturmaschinen.

  • Improved Exception hierarchy - Die Ausnahmehierarchie wurde verbessert.

  • Many fatal errors converted to Exceptions - Der Bereich der Ausnahmen wurde erweitert und deckt viele schwerwiegende Fehler ab, die als Ausnahmen konvertiert wurden.

  • Secure random number generator - Hinzufügen einer neuen API für sichere Zufallszahlengeneratoren.

  • Deprecated SAPIs and extensions removed - Verschiedene alte und nicht unterstützte SAPIs und Erweiterungen werden aus der neuesten Version entfernt.

  • The null coalescing operator (??) - Neuer Null-Koaleszenz-Operator hinzugefügt.

  • Return and Scalar Type Declarations - Unterstützung für Rückgabetyp und Parametertyp hinzugefügt.

  • Anonymous Classes - Unterstützung für anonym hinzugefügt.

  • Zero cost asserts - Unterstützung für Zero Cost Assert hinzugefügt.

PHP 7 verwendet die neue Zend Engine 3.0, um die Anwendungsleistung fast zweimal zu verbessern und den Speicherverbrauch um 50% zu verbessern als PHP 5.6. Es ermöglicht die gleichzeitige Bedienung von Benutzern, ohne dass zusätzliche Hardware erforderlich ist. PHP 7 wurde unter Berücksichtigung der heutigen Arbeitslast entwickelt und überarbeitet.

Gemäß dem Zend - Team, zeigen folgende Darstellungen , die den Performance - Vergleich von PHP 7 vs PHP 5.6 und 3.7 HHVM auf beliebten PHP - basierte Anwendungen.

Magento 1.9

PHP 7 erweist sich bei der Ausführung von Magento-Transaktionen als mehr als doppelt so schnell wie PHP 5.6.

Drupal 7

PHP 7 erweist sich bei der Ausführung von Drupal-Transaktionen als mehr als doppelt so schnell wie PHP 5.6.

Wordpress 3.6

PHP 7 erweist sich bei der Ausführung von Wordpress-Transaktionen als mehr als doppelt so schnell wie PHP 5.6.

Vergleich dynamischer Sprachen

Probieren Sie es Option Online

Wir haben die PHP-Programmierumgebung online eingerichtet, damit Sie alle verfügbaren Beispiele online kompilieren und ausführen können. Es gibt Ihnen Vertrauen in das, was Sie lesen, und ermöglicht es Ihnen, die Programme mit verschiedenen Optionen zu überprüfen. Sie können jedes Beispiel ändern und online ausführen.

Probieren Sie das folgende Beispiel mit unserem Online-Compiler aus, der unter CodingGround verfügbar ist.

<html>
   <head>
      <title>Online PHP Script Execution</title>
   </head>
   <body>
      <?php
         echo "<h1>Hello, PHP!</h1>";
      ?>   
   </body>
</html>

Für die meisten Beispiele in diesem Tutorial finden Sie a Try itOption in unseren Website-Code-Abschnitten oben rechts, mit der Sie zum Online-Compiler gelangen. Nutzen Sie einfach Ihr Lernen und genießen Sie es.

Um PHP-Webseiten zu entwickeln und auszuführen, müssen drei wichtige Komponenten auf Ihrem Computersystem installiert sein.

  • Web Server- PHP funktioniert mit praktisch der gesamten Webserver-Software, einschließlich des Internet Information Server (IIS) von Microsoft. Am häufigsten wird jedoch Apache Server verwendet. Laden Sie Apache hier kostenlos herunter -http://httpd.apache.org/download.cgi

  • Database- PHP PHP funktioniert mit praktisch der gesamten Datenbanksoftware, einschließlich Oracle und Sybase. Am häufigsten wird jedoch die MySQL-Datenbank verwendet. Laden Sie MySQL hier kostenlos herunter -http://www.mysql.com/downloads/

  • PHP Parser- Um PHP-Skriptanweisungen verarbeiten zu können, muss ein Parser installiert sein, um eine HTML-Ausgabe zu generieren, die an den Webbrowser gesendet werden kann. Dieses Tutorial zeigt Ihnen, wie Sie den PHP-Parser auf Ihrem Computer installieren.

PHP Parser Installation

Bevor Sie fortfahren, müssen Sie sicherstellen, dass auf Ihrem Computer die richtige Umgebung eingerichtet ist, um Ihre Webprogramme mit PHP zu entwickeln. Speichern Sie die folgende PHP-Datei im Apt-Ordner htdocs.

phpinfo.php

<?php
   phpinfo();
?>

Geben Sie die folgende Adresse in das Adressfeld Ihres Browsers ein.

http://127.0.0.1/phpinfo.php

Wenn hier eine Seite mit Informationen zur PHP-Installation angezeigt wird, bedeutet dies, dass PHP und Webserver ordnungsgemäß installiert sind. Andernfalls müssen Sie die angegebenen Schritte ausführen, um PHP auf Ihrem Computer zu installieren.

In diesem Abschnitt erfahren Sie, wie Sie PHP auf den folgenden vier Plattformen installieren und konfigurieren:

  • PHP-Installation unter Linux oder Unix mit Apache

  • PHP-Installation unter Mac OS X mit Apache

  • PHP-Installation unter Windows NT / 2000 / XP mit IIS

  • PHP-Installation unter Windows NT / 2000 / XP mit Apache

Apache-Konfiguration

Wenn Sie Apache als Webserver verwenden, werden Sie in diesem Abschnitt zum Bearbeiten von Apache-Konfigurationsdateien geführt.

Überprüfen Sie hier - PHP-Konfiguration in Apache Server

PHP.INI-Dateikonfiguration

Die PHP-Konfigurationsdatei, php.iniist der letzte und unmittelbare Weg, um die Funktionalität von PHP zu beeinflussen.

Überprüfen Sie hier - PHP.INI-Dateikonfiguration

Windows IIS-Konfiguration

Informationen zum Konfigurieren von IIS auf Ihrem Windows-Computer finden Sie in Ihrem IIS-Referenzhandbuch, das zusammen mit IIS geliefert wird.

In PHP 7 wurde eine neue Funktion, Skalartypdeklarationen, eingeführt. Die Skalartypdeklaration bietet zwei Optionen:

  • coercive - Zwang ist der Standardmodus und muss nicht angegeben werden.

  • strict - Der strikte Modus muss explizit angedeutet werden.

Die folgenden Typen für Funktionsparameter können mit den oben genannten Modi erzwungen werden:

  • int
  • float
  • bool
  • string
  • interfaces
  • array
  • callable

Beispiel - Zwangsmodus

<?php
   // Coercive mode
   function sum(int ...$ints) {
      return array_sum($ints);
   }
   print(sum(2, '3', 4.1));
?>

Es erzeugt die folgende Browserausgabe -

9

Beispiel - Strenger Modus

<?php
   // Strict mode
   declare(strict_types=1);
   function sum(int ...$ints) {
      return array_sum($ints);
   }
   print(sum(2, '3', 4.1));
?>

Es erzeugt die folgende Browserausgabe -

Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, ...

In PHP 7 ist eine neue Funktion, Return type declarationswurde vorgestellt. Die Rückgabetypdeklaration gibt den Wertetyp an, den eine Funktion zurückgeben soll. Folgende Typen für Rückgabetypen können deklariert werden.

  • int
  • float
  • bool
  • string
  • interfaces
  • array
  • callable

Beispiel - Gültiger Rückgabetyp

<?php
   declare(strict_types = 1);
   function returnIntValue(int $value): int {
      return $value;
   }
   print(returnIntValue(5));
?>

Es erzeugt die folgende Browserausgabe -

5

Beispiel - Ungültiger Rückgabetyp

<?php
   declare(strict_types = 1);
   function returnIntValue(int $value): int {
      return $value + 1.0;
   }
   print(returnIntValue(5));
?>

Es erzeugt die folgende Browserausgabe -

Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned...

In PHP 7 ist eine neue Funktion, null coalescing operator (??)wurde vorgestellt. Es wird verwendet, um die zu ersetzenternaryOperation in Verbindung mit der Funktion isset (). DasNullDer Koaleszenzoperator gibt seinen ersten Operanden zurück, wenn er existiert und nicht NULL ist. Andernfalls wird der zweite Operand zurückgegeben.

Beispiel

<?php
   // fetch the value of $_GET['user'] and returns 'not passed'
   // if username is not passed
   $username = $_GET['username'] ?? 'not passed';
   print($username);
   print("<br/>");

   // Equivalent code using ternary operator
   $username = isset($_GET['username']) ? $_GET['username'] : 'not passed';
   print($username);
   print("<br/>");
   // Chaining ?? operation
   $username = $_GET['username'] ?? $_POST['username'] ?? 'not passed';
   print($username);
?>

Es erzeugt die folgende Browserausgabe -

not passed
not passed
not passed

In PHP 7 wurde eine neue Funktion, der Raumschiff-Operator, eingeführt. Es wird verwendet, um zwei Ausdrücke zu vergleichen. Es gibt -1, 0 oder 1 zurück, wenn der erste Ausdruck kleiner, gleich oder größer als der zweite Ausdruck ist.

Beispiel

<?php
   //integer comparison
   print( 1 <=> 1);print("<br/>");
   print( 1 <=> 2);print("<br/>");
   print( 2 <=> 1);print("<br/>");
   print("<br/>");
   
   //float comparison
   print( 1.5 <=> 1.5);print("<br/>");
   print( 1.5 <=> 2.5);print("<br/>");
   print( 2.5 <=> 1.5);print("<br/>");
   print("<br/>");
   
   //string comparison
   print( "a" <=> "a");print("<br/>");
   print( "a" <=> "b");print("<br/>");
   print( "b" <=> "a");print("<br/>");
?>

Es erzeugt die folgende Browserausgabe -

0
-1
1

0
-1
1

0
-1
1

Array-Konstanten können jetzt mit dem definiert werden define()Funktion. In PHP 5.6 konnten sie nur mit definiert werdenconst Stichwort.

Beispiel

<?php
   //define a array using define function
   define('animals', [
      'dog',
      'cat',
      'bird'
   ]);
   print(animals[1]);
?>

Es erzeugt die folgende Browserausgabe -

cat

Anonyme Klassen können jetzt mit einer neuen Klasse definiert werden. Anonyme Klasse kann anstelle einer vollständigen Klassendefinition verwendet werden.

Beispiel

<?php
   interface Logger {
      public function log(string $msg);
   }

   class Application {
      private $logger;

      public function getLogger(): Logger {
         return $this->logger;
      }

      public function setLogger(Logger $logger) {
         $this->logger = $logger;
      }  
   }

   $app = new Application;
   $app->setLogger(new class implements Logger {
      public function log(string $msg) {
         print($msg);
      }
   });

   $app->getLogger()->log("My first Log Message");
?>

Es erzeugt die folgende Browserausgabe -

My first Log Message

Closure::call()Die Methode wird als Kurzform hinzugefügt, um einen Objektbereich vorübergehend an einen Abschluss zu binden und ihn aufzurufen. Es ist viel schneller in der Leistung als im Vergleich zubindTo von PHP 5.6.

Beispiel - Vor PHP 7

<?php
   class A {
      private $x = 1;
   }

   // Define a closure Pre PHP 7 code
   $getValue = function() {
      return $this->x;
   };

   // Bind a clousure
   $value = $getValue->bindTo(new A, 'A'); 

   print($value());
?>

Es erzeugt die folgende Browserausgabe -

1

Beispiel - PHP 7+

<?php
   class A {
      private $x = 1;
   }

   // PHP 7+ code, Define
   $value = function() {
      return $this->x;
   };

   print($value->call(new A));
?>

Es erzeugt die folgende Browserausgabe -

1

PHP 7 führt Filtered ein unserialize()Funktion zur Bereitstellung einer besseren Sicherheit beim Unserialisieren von Objekten in nicht vertrauenswürdigen Daten. Es verhindert mögliche Code-Injektionen und ermöglicht es dem Entwickler, Klassen, die unserialisiert werden können, auf die Whitelist zu setzen.

Beispiel

<?php
   class MyClass1 { 
      public $obj1prop;   
   }
   class MyClass2 {
      public $obj2prop;
   }

   $obj1 = new MyClass1();
   $obj1->obj1prop = 1;
   $obj2 = new MyClass2();
   $obj2->obj2prop = 2;

   $serializedObj1 = serialize($obj1);
   $serializedObj2 = serialize($obj2);

   // default behaviour that accepts all classes
   // second argument can be ommited.
   // if allowed_classes is passed as false, unserialize converts all objects into __PHP_Incomplete_Class object
   $data = unserialize($serializedObj1 , ["allowed_classes" => true]);

   // converts all objects into __PHP_Incomplete_Class object except those of MyClass1 and MyClass2
   $data2 = unserialize($serializedObj2 , ["allowed_classes" => ["MyClass1", "MyClass2"]]);

   print($data->obj1prop);
   print("<br/>");
   print($data2->obj2prop);
?>

Es erzeugt die folgende Browserausgabe -

1
2

In PHP7 eine neue IntlCharEs wird eine Klasse hinzugefügt, die zusätzliche ICU-Funktionen verfügbar machen soll. Diese Klasse definiert eine Reihe statischer Methoden und Konstanten, mit denen Unicode-Zeichen bearbeitet werden können. Du brauchstIntl Erweiterung installiert, bevor diese Klasse verwendet wird.

Beispiel

<?php
   printf('%x', IntlChar::CODEPOINT_MAX);
   print (IntlChar::charName('@'));
   print(IntlChar::ispunct('!'));
?>

Es erzeugt die folgende Browserausgabe -

10ffff
COMMERCIAL AT
true

In PHP 7 werden die folgenden zwei neuen Funktionen eingeführt, um kryptografisch sichere Ganzzahlen und Zeichenfolgen plattformübergreifend zu generieren.

  • random_bytes() - Erzeugt kryptografisch sichere pseudozufällige Bytes.

  • random_int() - Erzeugt kryptografisch sichere pseudozufällige Ganzzahlen.

random_bytes ()

random_bytes () generiert eine beliebige Zeichenfolge von kryptografischen Zufallsbytes, die für die kryptografische Verwendung geeignet sind, z. B. beim Generieren von Salzen, Schlüsseln oder Initialisierungsvektoren.

Syntax

string random_bytes ( int $length )

Parameter

  • length - Die Länge der zufälligen Zeichenfolge, die in Bytes zurückgegeben werden soll.

Rückgabewerte

  • Gibt eine Zeichenfolge zurück, die die angeforderte Anzahl kryptografisch sicherer Zufallsbytes enthält.

Fehler / Ausnahmen

  • Wenn keine geeignete Zufallsquelle gefunden werden kann, wird eine Ausnahme ausgelöst.

  • Wenn ungültige Parameter angegeben werden, a TypeError wird geworfen.

  • Wenn eine ungültige Länge von Bytes angegeben wird, wird ein Fehler ausgegeben.

Beispiel

<?php
   $bytes = random_bytes(5);
   print(bin2hex($bytes));
?>

Es erzeugt die folgende Browserausgabe -

54cc305593

random_int ()

random_int() generiert kryptografische Zufallszahlen, die für den Einsatz geeignet sind, wenn unverzerrte Ergebnisse kritisch sind.

Syntax

int random_int ( int $min , int $max )

Parameter

  • min - Der niedrigste zurückzugebende Wert, der sein muss PHP_INT_MIN oder höher.

  • max - Der höchste zurückzugebende Wert, der kleiner oder gleich sein muss PHP_INT_MAX.

Rückgabewerte

  • Gibt eine kryptografisch sichere zufällige Ganzzahl im Bereich von min bis einschließlich max zurück.

Fehler / Ausnahmen

  • Wenn keine geeignete Zufallsquelle gefunden werden kann, wird eine Exception wird geworfen.

  • Wenn ungültige Parameter angegeben werden, a TypeError wird geworfen.

  • Wenn max kleiner als min ist, wird ein Error wird geworfen.

Beispiel

<?php
   print(random_int(100, 999));
   print(" ");
   print(random_int(-1000, 0));
?>

Es erzeugt die folgende Browserausgabe -

614
-882

Expectationssind eine abwärtskompatible Erweiterung der älteren assert () - Funktion. Die Erwartung ermöglicht kostengünstige Zusicherungen im Produktionscode und bietet die Möglichkeit, benutzerdefinierte Ausnahmen auszulösen, wenn die Zusicherung fehlschlägt. assert () ist jetzt ein Sprachkonstrukt, bei dem der erste Parameter ein Ausdruck ist, verglichen mit einem zu testenden String oder Booleschen Wert.

Konfigurationsanweisungen für assert ()

Richtlinie Standardwert Mögliche Werte
zend.assertions 1

1 - Code generieren und ausführen (Entwicklungsmodus)

0 - Code generieren, aber zur Laufzeit umspringen

-1 - keinen Code generieren (Produktionsmodus)

assert.exception 0

1 - werfen, wenn die Zusicherung fehlschlägt, entweder durch Auslösen des als Ausnahme bereitgestellten Objekts oder durch Auslösen eines neuen AssertionError Objekt, wenn keine Ausnahme angegeben wurde.

0 - Verwenden oder generieren Sie ein Throwable wie oben beschrieben, generiert jedoch nur eine Warnung basierend auf diesem Objekt, anstatt es zu werfen (kompatibel mit PHP 5-Verhalten).

Parameter

  • assertion- Die Behauptung. In PHP 5 muss dies entweder eine zu bewertende Zeichenfolge oder ein zu testender Boolescher Wert sein. In PHP 7 kann dies auch ein beliebiger Ausdruck sein, der einen Wert zurückgibt, der ausgeführt wird und anhand des Ergebnisses angibt, ob die Zusicherung erfolgreich war oder fehlgeschlagen ist.

  • description - Eine optionale Beschreibung, die in die Fehlermeldung aufgenommen wird, wenn die Bestätigung fehlschlägt.

  • exception - In PHP 7 kann der zweite Parameter a sein Throwable Objekt anstelle einer beschreibenden Zeichenfolge. In diesem Fall wird das Objekt ausgelöst, wenn die Zusicherung fehlschlägt und die assert.exception Konfigurationsanweisung ist aktiviert.

Rückgabewerte

FALSE wenn die Behauptung falsch ist, TRUE Andernfalls.

Beispiel

<?php
   ini_set('assert.exception', 1);

   class CustomError extends AssertionError {}

   assert(false, new CustomError('Custom Error Message!'));
?>

Es erzeugt die folgende Browserausgabe -

Fatal error: Uncaught CustomError: Custom Error Message! in...

Ab PHP7 kann eine einzelne use-Anweisung verwendet werden, um Klassen, Funktionen und Konstanten aus demselben Namespace anstelle mehrerer use-Anweisungen zu importieren.

Beispiel

<?php
   // Before PHP 7
   use com\tutorialspoint\ClassA;
   use com\tutorialspoint\ClassB;
   use com\tutorialspoint\ClassC as C;

   use function com\tutorialspoint\fn_a;
   use function com\tutorialspoint\fn_b;
   use function com\tutorialspoint\fn_c;

   use const com\tutorialspoint\ConstA;
   use const com\tutorialspoint\ConstB;
   use const com\tutorialspoint\ConstC;

   // PHP 7+ code
   use com\tutorialspoint\{ClassA, ClassB, ClassC as C};
   use function com\tutorialspoint\{fn_a, fn_b, fn_c};
   use const com\tutorialspoint\{ConstA, ConstB, ConstC};

?>

Ab PHP 7 wurde die Fehlerbehandlung und Berichterstellung geändert. Anstatt Fehler über den von PHP 5 verwendeten herkömmlichen Fehlerberichterstattungsmechanismus zu melden, werden die meisten Fehler jetzt durch Auslösen von Fehlerausnahmen behandelt. Ähnlich wie bei Ausnahmen sprudeln diese Fehlerausnahmen, bis sie den ersten passenden Catch-Block erreichen. Wenn keine übereinstimmenden Blöcke vorhanden sind, wird ein Standard-Ausnahmebehandler mit installiertset_exception_handler()wird angerufen werden. Wenn es keinen Standard-Ausnahmebehandler gibt, wird die Ausnahme in einen schwerwiegenden Fehler konvertiert und wie ein herkömmlicher Fehler behandelt.

Da die Fehlerhierarchie nicht von Exception erweitert wird, behandelt Code, der catch (Exception $ e) {...} -Blöcke verwendet, um nicht erfasste Ausnahmen in PHP 5 zu behandeln, solche Fehler nicht. Ein catch (Fehler $ e) {...} Block oder aset_exception_handler() Der Handler ist erforderlich, um schwerwiegende Fehler zu behandeln.

Beispiel

<?php
   class MathOperations {
      protected $n = 10;

      // Try to get the Division by Zero error object and display as Exception
      public function doOperation(): string {
         try {
            $value = $this->n % 0;
            return $value;
         } catch (DivisionByZeroError $e) {
            return $e->getMessage();
         }
      }
   }

   $mathOperationsObj = new MathOperations();
   print($mathOperationsObj->doOperation());
?>

Es erzeugt die folgende Browserausgabe -

Modulo by zero

PHP 7 führt eine neue Funktion ein intdiv(), der eine ganzzahlige Division seiner Operanden durchführt und die Division als int zurückgibt.

Beispiel

<?php
   $value = intdiv(10,3);
   var_dump($value);
   print(" ");
   print($value);
?>

Es erzeugt die folgende Browserausgabe -

int(3) 
3

Von PHP7 +, session_start() Die Funktion akzeptiert eine Reihe von Optionen zum Überschreiben der in festgelegten Sitzungskonfigurationsanweisungen php.ini. Diese Optionen unterstützensession.lazy_writeDies ist standardmäßig aktiviert und bewirkt, dass PHP jede Sitzungsdatei überschreibt, wenn sich die Sitzungsdaten geändert haben.

Eine weitere hinzugefügte Option ist read_and_closeDies zeigt an, dass die Sitzungsdaten gelesen und die Sitzung sofort unverändert geschlossen werden sollte. Zum Beispiel Setsession.cache_limiter auf privat setzen und das Flag setzen, um die Sitzung unmittelbar nach dem Lesen zu schließen. Verwenden Sie dazu das folgende Code-Snippet.

<?php
   session_start([
      'cache_limiter' => 'private',
      'read_and_close' => true,
   ]);
?>

Die folgenden Funktionen sind veraltet und werden möglicherweise aus zukünftigen Versionen von PHP entfernt.

Konstruktoren im PHP 4-Stil

Konstruktoren im PHP 4-Stil sind Methoden mit demselben Namen wie die Klasse, in der sie definiert sind, die jetzt veraltet sind und in Zukunft entfernt werden. PHP 7 gibt E_DEPRECATED aus, wenn ein PHP 4-Konstruktor der einzige Konstruktor ist, der innerhalb einer Klasse definiert ist. Klassen, die eine __construct () -Methode implementieren, sind nicht betroffen.

Beispiel

<?php
   class A {
      function A() {
         print('Style Constructor');
      }
   }
?>

Es erzeugt die folgende Browserausgabe -

Deprecated: Methods with the same name as their class will not be constructors 
in a future version of PHP; A has a deprecated constructor in...

Statische Aufrufe nicht statischer Methoden

Statische Aufrufe nicht statischer Methoden sind veraltet und werden möglicherweise in Zukunft entfernt.

Beispiel

<?php
   class A {
      function b() {
         print('Non-static call');
      }
   }
   A::b();
?>

Es erzeugt die folgende Browserausgabe -

Deprecated: Non-static method A::b() should not be called statically in...
Non-static call

password_hash () salt Option

Die Salzoption für die password_hash()Die Funktion wurde veraltet, sodass die Entwickler keine eigenen (normalerweise unsicheren) Salze erzeugen. Die Funktion selbst generiert ein kryptografisch sicheres Salz, wenn der Entwickler kein Salz bereitstellt. Daher ist keine benutzerdefinierte Salzgenerierung mehr erforderlich.

Capture_session_meta SSL-Kontextoption

Das capture_session_metaDie SSL-Kontextoption ist veraltet. SSL-Metadaten werden jetzt über das verwendetstream_get_meta_data() Funktion.

Folgende Erweiterungen wurden ab PHP 7 entfernt -

  • ereg
  • mssql
  • mysql
  • sybase_ct

Folgende SAPIs wurden ab PHP 7 entfernt -

  • aolserver
  • apache
  • apache_hooks
  • apache2filter
  • caudium
  • continuity
  • isapi
  • milter
  • nsapi
  • phttpd
  • pi3web
  • roxen
  • thttpd
  • tux
  • webjames