Zum Hauptmenü

Thema PHP

Log-Level in WordPress einstellen

In der Konfigurationsdatei von WordPress wp-config.php kann eingestellt werden, dass PHP-Fehler ausgegeben oder in einer Datei geloggt werden. Bei der Entwicklung eines Themes oder Plugins empfiehlt sich die Ausgabe direkt auf der Webseite:

define( 'WP_DEBUG', true );

(mehr …)

PHP-FPM lädt alte Dateien?

Das PHP-Modul OPcache beschleunigt die Ausführung von PHP-Scripten, indem es diese vorkompiliert im Arbeitsspeicher vorhält. Unter Debian 12 ist OPCache durch folgende Einstellung in der php.ini standardmäßig aktiviert:

opcache.enable = 1

(mehr …)

Unterscheidung von IPv6- und IPv4-Adressen in PHP

Auf meiner Webseite Meine Browser-Daten lass ich neben der IP-Adresse und dem User-Agent-String weitere Browser-Daten ausgeben, die auch bei der Webprogrammierung von Nutzen sind. Da sowohl auf meinem Webserver als auch auf meinem Router eine Dualstack-Verbindung eingerichtet ist, wurde mir stets die IPv6-Adresse meines PCs angezeigt. Die IPv4-Adresse kann ich zwar auch in meinem Router einsehen (unter „WAN-IP“), aber ich dachte mir, dass es ganz nett wäre, wenn meine Browser-Daten-Seite diese gleich mit anzeigt. (mehr …)

1 Kommentar

Ersatz für utf8_decode()

Die PHP-Funktion utf8_decode(), welche eine Zeichenkette von UTF-8 nach ISO-8859-1 konvertiert, ist seit der PHP-Version 8.2 als veraltet (deprecated) markiert. In einer künftigen PHP-Version, womöglich bereits in PHP 9.0., wird diese Funktion vermutlich entfernt werden. (mehr …)

PHP 7.1: [] operator not supported for strings

Ein Upgrade auf PHP 7.0 konnte bei älteren Scripten mitunter einiges an Anpassungsarbeiten verursachen, wenn dort z.b. noch die veraltete MySQL-Schnittstelle verwendet wurde. Auch PHP 7.1 beinhaltet einige abwärtsinkompatiblen Änderungen, so dass auch hier ein Testen vor dem Upgrade angesagt ist. Ein Fehler, dem ich inzwischen häufiger (im Code anderer Programmierer) begegnet bin, ist die Initiierung eines Arrays mit einem leeren String. In PHP 7.1 kann dies nun dazu führen, dass das betreffende PHP-Script nicht weiter ausgeführt wird: (mehr …)

3 Kommentare

gc_maxlifetime in .htaccess Datei anpassen

Möchte man den Session-Timeout in PHP nur für eine Domain oder ein einzelnes Verzeichnis erhöhen, kann man hierzu den Wert für den php.ini Parameter session.gc_maxlifetime entsprechend anpassen. Läuft PHP als Modul des Apachen (mod_php), so geht dies nicht über eine php.ini Datei im jeweiligen Verzeichnis. Stattdessen könnte man den Wert aber in der .htaccess Datei des betreffenden Verzeichnisses definieren: (mehr …)

MariaDB: Jahresarbeitszeit 838:59 Stunden

Aus einer Zeiterfassungs-Datenbank in MariaDB wollte ich mir die Jahresarbeitszeit verschiedener User ausgeben lassen. Während die Stundenanzahl pro Monat noch plausibel erschien, betrug die Stundenzahl innerhalb des letzten Jahres immer genau 838:59 Stunden. In der betreffenden Datenbank-Tabelle beinhalten die einzelnen Einträge jeweils einen Zeitstempel für Start und Ende der Arbeitszeit im DATETIME Format. Die Abfrage erstellte ich entsprechend folgendermaßen: (mehr …)

Standardfehlerausgabe und Exit Status in PHP-CLI

Normalerweise kommt PHP ja als Scriptsprache zur Erstellung von Webseiten zum Einsatz. Wenn PHP-CLI installiert ist, kann PHP aber auch von der Kommandozeile aufgerufen werden. Wie werden nun Fehlermeldungen auf die Standardfehlerausgabe (stderr) geschrieben und Exit Codes zurückgegeben, wie es bei Linux-Shell-Scripten üblich ist? wie wird beispielsweise folgendes Bash-Script test.sh in PHP übersetzt: (mehr …)

always_populate_raw_post_data in .htaccess Datei

Bei der Installation der Webanalyse-Anwendung piwik überprüft das PHP-Programm auch die Systemvoraussetzungen. Dabei setzt es u.a. voraus, dass der php.ini Parameter always_populate_raw_post_data auf den Wert -1 gesetzt ist. Hat man keinen Zugriff auf die systemweite php.ini und läuft als Webserver ein Apache gibt es hierzu zwei Möglichkeiten: (mehr …)

2 Kommentare

Ältere Artikel »