In PHP -Projekten wirkt sich die Effizienz der Hauptfunktion oder der Hauptausführungsprozess direkt auf die Gesamtleistung aus. Bei auf langsamen Laufproblemen ist es kritischer, zusätzlich zu Hardware -Upgrades den Code selbst zu optimieren. In diesem Artikel werden mehrere praktische Methoden eingeführt, um die Effizienz der PHP -Ausführung zu verbessern, um den Betrieb der Hauptfunktionen zu beschleunigen.
Für zeitaufwändige Berechnungen oder Datenanfragen kann eine wiederholte Ausführung durch Caching vermieden werden. Zu den gängigen Caching -Methoden gehören Datei -Cache, Speichercache (z. B. Redis, Memcached) usw.
Beispielcode:
<?php
$cacheFile = '/tmp/cache.txt';
// Überprüfen Sie, ob der Cache existiert und nicht abgelaufen ist
if (file_exists($cacheFile) && (time() - filemtime($cacheFile)) < 3600) {
$result = file_get_contents($cacheFile);
} else {
// Simulation zeitaufwändiger Betrieb
$result = file_get_contents('https://gitbox.net/api/data');
file_put_contents($cacheFile, $result);
}
echo $result;
?>
Reduzieren Sie Netzwerkanfragen oder komplexe Vorgänge durch Cache, wodurch die Programmreaktionsgeschwindigkeit die Programmreaktion erheblich verbessert wird.
Häufige Aufrufe von Funktionen in PHP verursachen einen gewissen Overhead. Vermeiden Sie es, komplexe Funktionen in Schleifen aufzurufen oder die Ergebnisse im Voraus zu berechnen.
<?php
$data = range(1, 10000);
// Nicht empfohlen:Aufrufen einer Funktion in einer Schleife
foreach ($data as $item) {
echo strlen("Value: $item") . "\n";
}
// Optimierung:Berechnen Sie die Länge im Voraus
$prefix = "Value: ";
$prefixLen = strlen($prefix);
foreach ($data as $item) {
echo $prefixLen + strlen((string)$item) . "\n";
}
?>
Durch die Reduzierung der Anzahl der Funktionsaufrufe kann die CPU -Last reduziert werden.
Wenn Sie eine große Datenmenge verarbeiten möchten, kann der Generator die Datenerzeugung verzögern und vermeiden, dass große Mengen an Speicher gleichzeitig geladen werden.
<?php
function getLargeDataset() {
for ($i = 0; $i < 1000000; $i++) {
yield $i;
}
}
foreach (getLargeDataset() as $value) {
// Verarbeitungsdaten
if ($value > 10) break; // Beispiel frühzeitig
}
?>
Der Generator erledigt die gleiche Aufgabe mit weniger Speicher.
PHP-integrierte Funktionen sind normalerweise für die zugrunde liegende Ebene optimiert und werden viel schneller ausgeführt als der handgeschriebene PHP-Code. Verwenden Sie beispielsweise Array_Map , Array_filter , Array_Reduce usw. anstelle von Schleifen.
<?php
$numbers = [1, 2, 3, 4, 5];
// Handschriftschleife
$squares = [];
foreach ($numbers as $n) {
$squares[] = $n * $n;
}
// Optimierung版
$squares = array_map(fn($n) => $n * $n, $numbers);
?>
Mit integrierten Funktionen ist der Code prägnanter und effizienter.
OPCACHE ist die offizielle Bytecode -Cache -Erweiterung von PHP, mit der Skripte jedes Mal neu kompiliert werden können, wenn sie ausgeführt werden und die Ausführungseffizienz erheblich verbessern.
Offene Methode (php.ini):
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
PHP -i | ausführen Grep Opcache in der Befehlszeile, um zu bestätigen, ob Opcache aktiviert ist.
Verwenden Sie Request_once oder include_once anstelle von fordern oder einfügen, um zu vermeiden, dass dieselbe Datei mehrmals geladen wird, und reduzieren Sie den E/A -Overhead.
<?php
require_once 'config.php';
require_once 'functions.php';
// Führen Sie den Code fort
?>