Jörgs Webnotizen

PHP

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

Nervige Upload-Bots

Auf einem Webspace mit einigen von mir selbst programmierten Webseiten läuft ein Cronjob, welcher mir bei Neueinträgen in ein PHP-Errorlogfile eine Benachrichtigungs-Email schickt. Ein Lockfile-Mechanismus sorgt dafür, dass ich weitere Benachrichtigungen erst dann erhalte, nachdem ich mir die Fehlermeldungen auf einer speziell dafür eingerichteten Webseite angeschaut habe, so dass ich nicht mit Mails bombardiert werde. Allerdings nerven in letzter Zeit einige Bots, die mit Uploads PHP-Error verursachen. (mehr …)

PHP: gemeinsamen Abschnitt zweier sich überlappender Pfade extrahieren

Aus zwei Pfadangaben, die aufeinander folgen und sich möglicherweise dabei überlappen, wollte ich in PHP den gemeinsamen Pfadabschnitt ermitteln. Aus den Pfadangaben /a/b/c/d und /c/d/e/f sollte beispielsweise der Pfad /c/d extrahiert werden. Die Pfadangaben /g/h/i/j und /i/k/l/m überlappen sich dagegen wegen des fehlenden /j nicht, so dass in dem Fall ein leerer String zurückgegeben werden sollte. Da ich im Netz dazu keine Lösung gefunden habe, habe ich dies folgendermaßen auf etwas umständliche Weise gelöst: (mehr …)

Speicherfresser WordPress

Ein PHP-Script, welches Produktdaten aus einer CSV-Datei in einen WooCommerce-Shop importieren sollte, lief auf meinem Testsystem anstandslos. Auf dem Webspace des Kunden brach das Script aber ab, weil das Speicherlimit des Webspace-Accounts überschritten war: (mehr …)