kraft shdl

Vor einigen Jahren wäre es noch undenkbar gewesen. Ein php-Projekt ohne vorherigen persönlichen Kontakt. Mit dem schnellen Internet und den modernen Möglichkeiten kein Problem. Für einen Kunden in der Schweiz habe ich ein php-Skript erstellt mit dem der Countdown bis zur Öffnung, Schließung oder bis zur Mittagspause angezeigt wird. Die Zeiten sind definierbar. Die Funktion gibt einen div-Container aus, dessen Aussehen mit css individuell angepasst werden kann.

Mein Schweizer Kunde hat das Skript auf der Webseite http://www.mathehelp.de in der rechten Seitenleiste verwendet.

phpOeffnungszeiten

Zögern Sie nicht und nehmen mit mir Kontakt auf, falls sie auch ein Skript/eine Programmierung benötigen. Gemeinsam mit Ihnen erstellen wir die Lösung, die optimal auf Ihre Bedürfnisse passt.

Der Umbau dieser Webseite bringt es mit sich, dass ich Module und Menüs anpassen/ergänzen muss. Leider ließ sich meine Installation von joomla! 3.3.6 nicht dazu überreden Änderungen an Modulen oder Menüs zu speichern. Nach dem Klicken auf Speichern tat sich schlichtweg gar nichts.

Leider scheint es sich um einen Bug zu handeln. Mit einem Trick und einer Änderung lässt sich das Problem aber wenigstens umgehen. Änderungen an Modulen lassen sich durch umstellen des Administrator-Templates auf das hathor-Template wieder speichern.

Das hilft bei Menüs oder Menüeinträgen aber leider nicht. Hier kann man durch folgende Änderung in der index.php im Ordner ~\Administrator\templates\isis joomla! dazu bringen, die Änderungen wieder zu speichern (Zeile 3 neu einfügen):

// Add JavaScript Frameworks
JHtml::_('bootstrap.framework');
JHtml::_('behavior.framework', true);

Gestern wollte ich einen auf einem Webserver installierten Extplorer aufrufen, doch alles was ich zu sehen bekam war ein weißer Bildschirm. Was zum… Heute hatte ich dann etwas Zeit, mich mit dem Problem zu beschäftigen. Doch wo anfangen, wenn man nur einen weißes Fenster im Browser angezeigt wird? Ganz klar, debuggen. Dazu kann man entweder global die Debuggausgabe aktivieren oder den folgenden kleinen Schnippsel (In einer Datei Namens debug.php) verwenden:

<?php
ini_set('error_reporting', '-1');
ini_set('display_errors', '1');

include('./index.php'); // Bitte geben Sie nachdem '/' an welche PHP Datei Sie prüfen möchten.
?>

Dann ruft man die debug.php auf und man bekommt detailliertere Informationen zur Fehlerursache. In meinem Fall:

Warning: require_once(): open_basedir restriction in effect. File(/usr/local/php5.4/lib/php/PEAR.php) is not within the allowed path(s): (/home/sites/site102/:/home/sites/site102/tmp/:/usr/share/pear/:/tmp/) in /home/sites/site102/web/extplorer/libraries/FTP.php on line 33

Warning: require_once(/usr/local/php5.4/lib/php/PEAR.php): failed to open stream: Operation not permitted in /home/sites/site102/web/extplorer/libraries/FTP.php on line 33

Fatal error: require_once(): Failed opening required 'PEAR.php' (include_path='.:/usr/local/php5.4/lib/php') in /home/sites/site102/web/extplorer/libraries/FTP.php on line 33
Ein Blick in die FAQ des Hosters und siehe da, PEAR ist dort in einem bestimmten Pfad enthalten und mit einem set_include_path lässt sich das Problem beheben und Extplorer versieht seinen Dienst wieder wie gewünscht:

set_include_path('/usr/lib/pear');

 

Wenn ich eine Webseite mit einem cms erstelle, tue ich dies meist in einem Unterordner auf dem Webserver. Wenn die Seite dann Online geht kann man entweder das Root-Verzeichnis anpassen oder mit Hilfe einer index.php eine Weiterleitung einrichten. Das geht ganz einfach mit dem folgenden Codeschnipsel:

<?php 
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.ziel.de/ordner");
exit();
?> 

 

Da der Code auf dem Server abläuft funktioniert diese Weiterleitung auf jedem Client und mit jedem vorstellbaren Browser.

Gestern Abend hatte ich plötzlich Probleme damit, mich per 2-Factor-Authentifizierung anzumelden. Egal was ich machte, es kam immer die Fehlermeldung, dass einer der Faktoren nicht stimmen würde. Ich hatte schon daran gezweifelt, ob ich das richtige Passwort benutze. Dann hatte ich die Idee mir mal die aktuelle Serverzeit ausgeben zu lassen und siehe da, die Uhr auf dem Server ging gute zehn Minuten vor. Inzwischen passt die Serverzeit wieder und die 2-Factor-Authentifizierung funktioniert wieder.

Mit diesem kurzen php-Skript kann man sich die Serverzeit ausgeben lassen. Dazu z.B. einfach eine time.php anlegen und aufrufen:

<?php
$datum = date("d.m.Y");
$uhrzeit = date("H:i");
echo $datum," - ",$uhrzeit," Uhr";
?>