Veröffentlicht am Schreiben Sie einen Kommentar

Nginx timeout beim starten via SSH

Nginx timeout beim Startup

Job for nginx.service failed because a timeout was exceeded.plesk systemd[1]: Starting Startup script for nginx service…plesk systemd[1]: nginx.service start-pre operation timed out. Terminating.plesk systemd[1]: Failed to start Startup script for nginx.service.plesk systemd[1]: nginx.service: Unit entered failed state.plesk systemd[1]: nginx.service: Failed with result ‘timeout’.

Die Option OCSP Stapling ist auf einer oder mehreren Domains unter Domains > example.com -> SSL/TLS-Zertifikate aktiviert.weil Aufgrund des aktivierten ocsp-Staplings versucht nginx, ocsp-uris während der Konfigurationsprüfung aufzulösen, und dieser Vorgang ist aufgrund von Problemen mit der Verbindung zum DNS-Server, der der erste Resolver in der Datei /etc/resolv.conf ist, langsam.

Auflösung verbinden Sie sich mit ssh mit dem Server.

Öffnen Sie die Datei /etc/resolv.conf zum Bearbeiten. Fügen Sie als ersten Nameserver eine der IP-Adressen des Servers hinzu, zum Beispiel 127.0.0.1, und speichern Sie die Datei:

nameserver 127.0.0.1

nameserver 8.8.8.8

nameserver 1.1.1.1

Veröffentlicht am Schreiben Sie einen Kommentar

PHP Byte code cache aktivieren

In der php.ini folgende Konfiguration vornehmen um den php7 / php8 OPCache zu aktivieren welches die Performance deutlich erhöht.

In dieser Beispiel Konfiguration habe ich ebenfalls unter php 8 just in time Kompilierung aktiviert für PHP 7.4 falls ihr das noch verwendet bitte die just in time compilation deaktivieren weil sie erst unter php8 hinzugekommen ist.

#memory_limit=512M;

#zend_extension=opcache.so;

opcache.enable=1;

opcache.revalidate_freq=180;

opcache.fast_shutdown=0;

opcache.enable_cli=1;

opcache.revalidate_path=0;

opcache.validate_timestamps=2;

opcache.max_file_size=0;

opcache.file_cache=/var/www/vhosts/tsecurity.de/opcache_tsec;

opcache.file_cache_only=1;

opcache.memory_consumption=256;

opcache.interned_strings_buffer=8;

opcache.max_accelerated_files=50000;

#opcache.revalidate_freq=2;

opcache.fast_shutdown=1;

opcache.enable_cli=1;

#opcache.jit_buffer_size=256M; #seit PHP 8

#opcache.jit=tracing;

#opcache.blacklist_filename=/var/www/xxx.com/

Entscheidend für den Erfolg des PHP bei caches ist dass der Ordner von euch erstellt werden muss er wird nicht vom PHP selbst erstellt Punkt es macht definitiv Sinn einen neuen Ordner anzulegen und auf diesen in der entsprechenden uniconfiguration zu zeigen.

opcache.file_cache=/path/

Veröffentlicht am Schreiben Sie einen Kommentar

PHP just in time compilation

PHP 7.4 erschien am 28. November 2019 und gilt inzwischen als outdated.

Ab Ende November 2022 wird es für die PHP-Version 7.4 keine Sicherheitsupdates mehr geben.

PHP 7 hat eine um bis zu 30 Prozent geringere Ausführungszeit als PHP 5

PHP 8 wurde am 26. November 2020 veröffentlicht. 

Die Version unterstützt unter anderem Just-in-time-Kompilierung, was in Micro-Benchmarks für eine Steigerung der Performance um mehr als 45 Prozent sorgt.

Im Dezember 2022 wird es den php8.2 Release geben.

Konfiguration für just in time Kompilierung für php8 aktivieren:

opcache.jit_buffer_size=256M;

opcache.jit=tracing;

Oder 

opcache.jit=function;

Viel Spaß mit der verbesserten Performance!

Veröffentlicht am Schreiben Sie einen Kommentar

PHP OPcache Dateien und Verzeichnisse vom OPcache ausschließen

kurz gesagt: Was ist PHP OPCache? OPCache ist eine Erweiterung für PHP, die die Ausführung von PHP-Skripten beschleunigt, indem sie deren Bytecode zwischenspeichert. Wird ein PHP-Skript aufgerufen, wird es zunächst in plattformunabhängigen Bytecode übersetzt und anschließend wird dieser Bytecode von der Zend Engine in Maschinencode übersetzt. Die Übersetzung vom Skript in den Bytecode erfolgt normalerweise bei jedem Aufruf des Skripts. An dieser Stelle kommt OPCache ins Spiel. OPCache speichert den vorkompilierten Bytecode im Hauptspeicher (RAM). Beim erneuten Aufruf eines Skripts wird dieses nicht erneut in Bytecode übersetzt, sondern der bereits übersetzte Bycode wird von OPCache aus dem Arbeitsspeicher geladen.

; Der Speicherort der OPcache-Blacklist-Datei (Platzhalter erlaubt).

; Jede OPcache-Blacklist-Datei ist eine Textdatei, die die Namen von Dateien enthält

; das sollte nicht beschleunigt werden.

opcache.blacklist_filename=/var/www/vhosts/tsecurity.de/opcache-blacklist.txt

; Die Blacklist-Datei ist eine Textdatei, die die Namen von Dateien enthält

; das sollte nicht beschleunigt werden. Das Dateiformat besteht darin, jeden Dateinamen hinzuzufügen.

 /path/to/ignored/script/ignoreThis.php 
/var/www/developer/*
/var/www/vhosts/mydomain.com/httpdocs/cache/*
Veröffentlicht am Schreiben Sie einen Kommentar

PHP 8.2 ohne URL Encoding utf8_encode

ISO-8859-1 zu UTF-8 mit mbstring

Bis PHP 8.2 war folgende Funktion möglich:

utf8_encode($string);

Ab PHP 8.2 bietet mbstring eine Lösung an:

mb_convert_encoding($string, “UTF-8”, “ISO-8859-1”);

Alternative Funktion ohne utf8_encode:

function iso8859_1_to_utf8(string $string): string {

    $s .= $string;

    $len = \strlen($s);

    for ($i = $len >> 1, $j = 0; $i < $len; ++$i, ++$j) {

        switch (true) {

            case $s[$i] < “\x80”: $s[$j] = $s[$i]; break;

            case $s[$i] < “\xC0”: $s[$j] = “\xC2”; $s[++$j] = $s[$i]; break;

            default: $s[$j] = “\xC3”; $s[++$j] = \chr(\ord($s[$i]) – 64); break;

        }

    }

    return substr($s, 0, $j);

}

https://php.watch/versions/8.2/utf8_encode-utf8_decode-deprecated