Heim Backend-Entwicklung PHP7 Ist PHP7 so großartig (horizontaler Vergleich von PHP7.1 und PHP5.6)

Ist PHP7 so großartig (horizontaler Vergleich von PHP7.1 und PHP5.6)

Jan 11, 2021 am 09:19 AM
php7

Ist PHP7 so großartig (horizontaler Vergleich von PHP7.1 und PHP5.6)

Empfehlung (kostenlos): PHP7

PHP7 kommt

PHP7 ist nun offiziell seit anderthalb Jahren auf dem Markt, als es auf den Markt kam, angeblich um ein Vielfaches schneller Die Geschwindigkeit und Effizienz dieser Art von Open-Source-Framework oder -System, das auf PHP7 läuft, ist um ein Vielfaches gestiegen. Sowohl die Medien als auch die Entwickler schüren das Feuer. Nein, sie sollten voll des Lobes sein.
Ich werde dir einfach zusehen, wie du dich ruhig verhältst, ohne ein Wort zu sagen.

Im Allgemeinen bin ich der Letzte, der Mobiltelefonsysteme aktualisiert, weil ich nicht in die Falle tappen möchte. Schließlich werden Systeme wie iOS und Android Fehler haben, ganz zu schweigen von den am häufigsten gehackten Sprachen der Welt .

Heute ist es an der Zeit zu sehen, ob PHP7 so großartig ist, wie die Legende sagt.

Installieren Sie zwei PHP-Versionen

http://php.net/ Es gibt bereits die neueste Version von PHP7, Sie können sie selbst herunterladen.
Um die Leistung von PHP5 und PHP7 zu testen (PHP6 wurde aufgegeben, Distressed 1s), habe ich zwei PHP-Versionen in verschiedenen Verzeichnissen installiert.

Der Installationsprozess wird übersprungen, unabhängig von der Installation des Quellcodes oder des Paketverwaltungstools. Merken Sie sich einfach Ihren eigenen Pfad.

PHP7:

# /usr/local/php7/bin/php -v
PHP 7.1.5 (cli) (built: May 13 2017 23:36:41) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Nach dem Login kopieren

PHP5:

# /usr/bin/php -v
PHP 5.6.30 (cli) (built: Jan 19 2017 22:31:39) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Nach dem Login kopieren

Umgebungsbeschreibung: Um die besten Testergebnisse zu gewährleisten, wurde dieser Test direkt in der Produktionsumgebung durchgeführt, die näher an der realen Situation ist. T Betriebssystem: CentOS 7.2 64 -Bit
Grundkonfiguration: 1 GB 1 GB 1MBPS
SOFO -Marke: Tencent Cloud

Php7 und PHP5 -Konfrontation

1. Aus den Daten geht hervor, dass der reine PHP-Skripttest zeigt, dass die Leistung von PHP7 um das Drei- bis Vierfache verbessert wurde.

2.php-Datenbankbetriebstest

vim test.php

Zuerst erstellen wir eine Benutzertabelle:

$arr = array();for ($i = 0; $i < 500000; $i++) { $arr[$i] = $i; } $tmp = array(); foreach ($arr as $i) { if ($i % 2 == 0) { $is_exists = array_key_exists($i, $arr); if ($is_exists) { array_push($tmp, $i); } } }
Nach dem Login kopieren

Fügen Sie ein Datenelement in die test_user-Tabelle ein:

time /usr/bin/php test.php 
real    0m0.301s
user    0m0.239s
sys     0m0.050s
--------------------------
time /usr/bin/php test.php
real    0m0.310s
user    0m0.241s
sys     0m0.054s
--------------------------
time /usr/bin/php test.php
real    0m0.289s
user    0m0.238s
sys     0m0.050s
Nach dem Login kopieren

Erstellen Sie das Datenbanktestskript test_db.php und stellen Sie sicher, dass Sie beide PHP-Versionen haben PDO-Erweiterung installiert sind.

time /usr/local/php7/bin/php test.php

real    0m0.087s
user    0m0.063s
sys     0m0.024s
-------------------------------------
time /usr/local/php7/bin/php test.php

real    0m0.106s
user    0m0.073s
sys     0m0.033s
--------------------------------------
time /usr/local/php7/bin/php test.php

real    0m0.083s
user    0m0.061s
sys     0m0.022s
Nach dem Login kopieren

Auf meinen beiden PHP-Versionen ist PDO installiert (verwenden Sie die Erweiterung php_mysql nicht mehr, sie ist veraltet, PHP7 wurde komplett aufgegeben und mysqli wird nicht empfohlen).

Als nächstes schreiben wir über PDO ein Skript, um den Leistungsvergleich der ausgewählten Ausführung 500.000 Mal zu testen:

Table: test_user
Create Table: CREATE TABLE `test_user` (  `uid` int(11) NOT NULL AUTO_INCREMENT,  `name` char(100) NOT NULL DEFAULT &#39;&#39;, PRIMARY KEY (`uid`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
Nach dem Login kopieren

PHP5 test test_db.php:

insert into test_user (uid,name) values (1,"dada");
MariaDB [test]> select * from test_user;
+-----+------+| uid | name | +-----+------+ | 1 | dada | +-----+------+
Nach dem Login kopieren

PHP7 test test_db.php:

/usr/bin/php -m|grep pdo
pdo_mysql
pdo_sqlite

/usr/local/php7/bin/php -m|grep pdo
pdo_mysql
pdo_sqlite
Nach dem Login kopieren

Dieses Mal führte das Skript 500.000 Abfragen aus Die Benutzerausführungszeit von Skripten, die von PHP7 ausgeführt werden, ist fast eine Sekunde kürzer als die von PHP5! Es ist eine Sekunde weniger, nicht eine Millisekunde.

3.PHP-Framework-Test

thinkphp

Das Thinkphp-Framework ist definitiv die erste Wahl in China, wählen Sie das neueste thinkphp5. Ich habe die Version thinkphp5.0.9 direkt von der offiziellen Website heruntergeladen.

    (1) Framework-Eingangstest
  • Test unter PHP5:

    $host = "yourHost";
    $user = "yourUser";
    $pass = "yourPass";
    $db   = "test"; $port = 3306; try { $dbh = new PDO("mysql:host=$host;dbname=$db", $user, $pass); echo "Connected<p>"; } catch (Exception $e) { echo "Unable to connect: " . $e->getMessage() ."<p>"; } $sql = "select SQL_NO_CACHE * from test_user;"; $tmp = array(); for ($i=1; $i<=500000; $i++) { $ret = $dbh->query($sql); foreach ($ret as $row) { $tmp[&#39;id&#39;] = $row[&#39;id&#39;]; $tmp[&#39;name&#39;] = $row[&#39;name&#39;]; } }
    Nach dem Login kopieren

    Test unter PHP7:
  • time /usr/bin/php test_db.php
    real    0m48.396s
    user    0m11.149s  
    sys     0m3.998s
    
    real    0m51.447s
    user    0m11.800s
    sys     0m4.395s
    
    real    0m51.517s
    user    0m11.733s
    sys     0m4.439s
    Nach dem Login kopieren
Unter dem Eingangstest können Sie sehen, dass es keinen großen Unterschied zwischen PHP und PHP7 gibt, PHP7 jedoch immer noch geringfügig ist etwas schneller.

    (2) Framework-Logiktest
  • Wiederverwendung der Logik des ersten Schritts am Framework-Eingang:
real    0m47.900suser 0m9.875s sys 0m4.130s real 0m46.977s user 0m9.760s sys 0m3.983s real 0m50.010s user 0m10.268s sys 0m4.307s
Nach dem Login kopieren

PHP5-Version:

time /usr/bin/php ./public/index.php
real    0m0.036s
user    0m0.026s sys 0m0.010s real 0m0.038s user 0m0.026s sys 0m0.012s real 0m0.041s user 0m0.032s sys 0m0.009s
Nach dem Login kopieren

PHP7-Version:

time /usr/local/php7/bin/php ./public/index.php
real    0m0.027s
user    0m0.021s
sys     0m0.005s

real    0m0.027s
user    0m0.018s
sys     0m0.009s

real    0m0.025s
user    0m0.023s
sys     0m0.002s
Nach dem Login kopieren

Verwenden Sie die PHP7-Version im thinkphp-Framework und die Leistung Die Verbesserung entspricht in etwa der von PHP5, der 4-fachen Version!


  • laravel

Dann testen wir das beliebteste PHP-Künstler-Framework.

    (1) Framework-Einstiegstest
  • PHP5-Version:

    <?phpnamespace app\index\controller; class Index { public function index() { $arr = array(); for ($i = 0; $i < 500000; $i++) { $arr[$i] = $i; } $tmp = array(); foreach ($arr as $i) { if ($i % 2 == 0) { $is_exists = array_key_exists($i, $arr); if ($is_exists) { array_push($tmp, $i); } } } } }
    Nach dem Login kopieren
    PHP-Version

    time /usr/bin/php ./public/index.php
    real    0m0.538s
    user    0m0.463s sys 0m0.072s real 0m0.454s user 0m0.386s sys 0m0.065s real 0m0.387s user 0m0.331s sys 0m0.055s
    Nach dem Login kopieren
  • Wir können sehen, dass es im Framework-Einstiegstest von Laravel keinen großen Leistungsunterschied zwischen PHP5 und PHP7 gibt, aber sogar PHP5 ist am schnellsten mit 0,081 s ist es auch langsamer als die langsamsten 0,067 s der PHP7-Version. PHP7 ist also immer noch besser.

(2) Framework-Logiktest
    Versuchen Sie, ein wenig Logik wie thinkphp hinzuzufügen, um die Testlogik wiederzuverwenden.
  • Ändern Sie zunächst das Laravel-Routing und rufen Sie direkt die Indexmethode von UserController auf:
  • time /usr/local/php7/bin/php ./public/index.php
    real    0m0.150s
    user    0m0.123s
    sys     0m0.024s
    
    real    0m0.137s
    user    0m0.105s
    sys     0m0.031s
    
    real    0m0.123s
    user    0m0.096s
    sys     0m0.026s
    Nach dem Login kopieren
Schreiben Sie die Testlogik in die Indexmethode:

time /usr/bin/php ./public/index.php

real    0m0.104s
user    0m0.081s sys 0m0.022s real 0m0.148s user 0m0.122s sys 0m0.025s real 0m0.122s user 0m0.100s sys 0m0.021s
Nach dem Login kopieren

PHP5-Version

time /usr/local/php7/bin/php ./public/index.php

real    0m0.079s
user    0m0.064s
sys     0m0.015s

real    0m0.081s
user    0m0.067s
sys     0m0.014s

real    0m0.067s
user    0m0.054s
sys     0m0.013s
Nach dem Login kopieren

PHP7-Version
    Route::get(&#39;/&#39;, &#39;UserController@index&#39;);
    Nach dem Login kopieren
  • Die Leistung von PHP7 wurde um 3 bis 4 verbessert mal
  • Das obige ist der detaillierte Inhalt vonIst PHP7 so großartig (horizontaler Vergleich von PHP7.1 und PHP5.6). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So lösen Sie das Problem, wenn PHP7 erkennt, dass der TCP-Port nicht funktioniert So lösen Sie das Problem, wenn PHP7 erkennt, dass der TCP-Port nicht funktioniert Mar 22, 2023 am 09:30 AM

In PHP5 können wir die Funktion fsockopen() verwenden, um den TCP-Port zu erkennen. Mit dieser Funktion können Sie eine Netzwerkverbindung herstellen und eine Netzwerkkommunikation durchführen. In PHP7 kann die Funktion fsockopen() jedoch auf einige Probleme stoßen, z. B. dass der Port nicht geöffnet werden kann, keine Verbindung zum Server hergestellt werden kann usw. Um dieses Problem zu lösen, können wir die Funktionen socket_create() und socket_connect() verwenden, um den TCP-Port zu erkennen.

So installieren Sie die Mongo-Erweiterung in PHP7.0 So installieren Sie die Mongo-Erweiterung in PHP7.0 Nov 21, 2022 am 10:25 AM

So installieren Sie die Mongo-Erweiterung in PHP7.0: 1. Erstellen Sie die Mongodb-Benutzergruppe und den Mongodb-Benutzer. 2. Laden Sie das Mongodb-Quellcodepaket herunter und platzieren Sie das Quellcodepaket im Verzeichnis „/usr/local/src/“. Geben Sie das Verzeichnis „src/“ ein. 4. Entpacken Sie das Quellcodepaket. 6. Kopieren Sie die Dateien in das Verzeichnis „mongodb/“.

Was soll ich tun, wenn das Plug-in in php7.0 installiert ist, aber immer noch angezeigt wird, dass es nicht installiert ist? Was soll ich tun, wenn das Plug-in in php7.0 installiert ist, aber immer noch angezeigt wird, dass es nicht installiert ist? Apr 02, 2024 pm 07:39 PM

So beheben Sie das Problem, dass das Plugin in PHP 7.0 nicht installiert ist: Überprüfen Sie die Plugin-Konfiguration und aktivieren Sie das Plugin. Starten Sie PHP neu, um die Konfigurationsänderungen zu übernehmen. Überprüfen Sie die Berechtigungen der Plugin-Datei, um sicherzustellen, dass sie korrekt sind. Installieren Sie fehlende Abhängigkeiten, um sicherzustellen, dass das Plugin ordnungsgemäß funktioniert. Wenn alle anderen Schritte fehlschlagen, erstellen Sie PHP neu. Weitere mögliche Ursachen sind inkompatible Plugin-Versionen, das Laden der falschen Version oder PHP-Konfigurationsprobleme.

So installieren und implementieren Sie PHP7.0 So installieren und implementieren Sie PHP7.0 Nov 30, 2022 am 09:56 AM

So installieren und implementieren Sie PHP7.0: 1. Gehen Sie zur offiziellen PHP-Website, um die dem lokalen System entsprechende Installationsversion herunterzuladen. 2. Extrahieren Sie die heruntergeladene ZIP-Datei in das angegebene Verzeichnis. 3. Öffnen Sie das Befehlszeilenfenster und gehen Sie zu das Verzeichnis „E:\php7“ Führen Sie einfach den Befehl „php -v“ aus.

FAQ-Leitfaden zur PHP-Serverumgebung: Häufige Probleme schnell lösen FAQ-Leitfaden zur PHP-Serverumgebung: Häufige Probleme schnell lösen Apr 09, 2024 pm 01:33 PM

Zu den gängigen Lösungen für PHP-Serverumgebungen gehört die Sicherstellung, dass die richtige PHP-Version installiert ist und relevante Dateien in das Modulverzeichnis kopiert wurden. Deaktivieren Sie SELinux vorübergehend oder dauerhaft. Überprüfen und konfigurieren Sie PHP.ini, um sicherzustellen, dass die erforderlichen Erweiterungen hinzugefügt und korrekt eingerichtet wurden. Starten oder starten Sie den PHP-FPM-Dienst neu. Überprüfen Sie die DNS-Einstellungen auf Auflösungsprobleme.

Was ist besser, PHP8 oder PHP7? Was ist besser, PHP8 oder PHP7? Nov 16, 2023 pm 03:09 PM

Im Vergleich zu PHP7 bietet PHP8 einige Vorteile und Verbesserungen in Bezug auf Leistung, neue Funktionen und Syntaxverbesserungen, Typsystem, Fehlerbehandlung und Erweiterungen. Die Wahl der zu verwendenden Version hängt jedoch von Ihren spezifischen Anforderungen und Projektumständen ab. Detaillierte Einführung: 1. Leistungsverbesserung: PHP8 führt den Just-in-Time-Compiler (JIT) ein, der die Ausführungsgeschwindigkeit des Codes verbessern kann. 2. Neue Funktionen und Syntaxverbesserungen. PHP8 unterstützt die Deklaration benannter Parameter und optionaler Parameter. Durch die flexiblere Gestaltung von Funktionen werden anonyme Klassen, Typdeklarationen von Eigenschaften usw. eingeführt.

Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Mar 31, 2025 pm 11:54 PM

So setzen Sie die Berechtigungen von Unixsocket automatisch nach dem Neustart des Systems. Jedes Mal, wenn das System neu startet, müssen wir den folgenden Befehl ausführen, um die Berechtigungen von Unixsocket: sudo ...

Zeichnen Sie einmal auf und verwenden Sie Strace, um das Problem zu diagnostizieren, dass PHP zu viele Systemressourcen belegt. Zeichnen Sie einmal auf und verwenden Sie Strace, um das Problem zu diagnostizieren, dass PHP zu viele Systemressourcen belegt. May 03, 2024 pm 04:31 PM

Lokale Umgebung: Redhat6.7-System. Nginx1.12.1, PHP7.1.0, der Code verwendet das Yii2-Framework-Problem: Die lokale Website muss den Elasticsearch-Dienst verwenden. Wenn PHP Elasticsearch verwendet, das auf einem lokalen Server erstellt wurde, ist die lokale Last normal. Wenn ich den Elasticsearch-Service von AWS nutze, ist die Auslastung des lokalen Servers oft zu hoch. Überprüfen Sie die Nginx- und PHP-Protokolle und finden Sie keine Ausnahmen. Auch die Anzahl gleichzeitiger Verbindungen im System ist nicht hoch. Zu diesem Zeitpunkt dachte ich an ein Strace-Diagnosetool, das mir unser Chef erzählt hatte. Debugging-Prozess: Finden Sie einen PHP-Unterprozess idstrace-

See all articles