Tipps & Tricks

PHP, Apache und mehr: Nützliche Tipps

Fehler in RSS-Feeds vermeiden oder den Seitenaufbau optimieren: Wir zeigen wie es geht.

internet, tipps, tricks, jquery

© Internet Magazin

internet, tipps, tricks, jquery

RSS: Fehler in der Bereitstellung von RSS-Feeds vermeiden

Sollten Sie bei der Bereitstellung von RSS-Feeds auf Probleme stoßen, könnte dies an einer fehlerhaften Konfiguration von MIME-Typen liegen. Um das Problem zu beheben, fügen Sie der .htaccess-Datei im Dokumentenverzeichnis von Apache den folgenden Eintrag hinzu:

AddType application/rss+xml .rss

oder alternativ

<Files name-des-rss-feeds.rss" ForceType application/rss+xml </Files"

Außerdem sei Ihnen empfohlen, in den head-Abschnitt der Website die folgende Zeile einzutragen:

<link rel="alternate" title="RSS-Feed" href="http://www. ihrdomainname.de/rss.xml" type="application/rss+xml""

Chrome: Web Intents oder RSS-Feed?

Beim Zugriff auf einen gültigen RSS-Feed in Chrome ab Version 19 öffnet dieser ein Dateiauswahlfenster und versucht, eine .webintents-Datei herunterzuladen. Stimmt der Besucher dieser Aufforderung zu, schlägt der Browser nun gegebenenfalls verschiedene Module vor, um denbetreffenden RSS-Feed anzuzapfen. Für den Endbenutzer mag diese Vorgehensweise eine verbesserte Usability darstellen.

internet, tipps, tricks, jquery

© Internet Magazin

Anstatt RSS-Feeds darzustellen, schlägt Chrome ab der Version 19 vor, mit Hilfe einer .webintents-Datei passende Chrome-Module zu installieren und zu nutzen.

Dieses Verhalten von Chrome hindert allerdings Webentwickler daran, RSS-Feeds im Klartext als reines XML einsehen zu können, wie es bisher möglich war. Zum Glück geht es anders. Abhilfe schafft eine Chrome-Applikation namens Feed Intent Viewer, die Sie aus dem Chrome Web Store kostenlos beziehen können. Mit diesem Modul können Sie RSS-Feeds in Chrome als XML-Code darstellen und inspizieren.

RSS: RSS-Feeds validieren

Um zu überprüfen, ob Ihr RSS-Feed den Anforderungen der Standardspezifikation entspricht, können Sie ihn mit Hilfe einer dieser kostenlosen Validierungsdienste auf Herz und Nieren prüfen: validator.w3.org oder feedvalidator.org

Performance: Seitenaufbau optimieren

Die Anzahl gleichzeitiger Downloads, die ein Browser unterstützt, ist der ultimative Flaschenhals für die Performance. Um zu ermitteln, welche Browser wie viele gleichzeitige Daten-Pipelines für den Seitenaufbau bereithalten, nutzen Sie den Dienst Browserscope unter der Adresse: www.browserscope.org

Feedburner: Aktualisierung des Feeds erzwingen

Feedburner aktualisiert den Inhalt Ihrer Feeds im Halbstundentakt. Wem dieses Tempo nicht genügt, kann seinen Feed unter der Adresse: feedburner.com kostenlos anpingen, um eine Aktualisierung zu erzwingen. Falls auch das nicht funktionieren sollte, können Sie unter feedburner.google.com nach der Anmeldung mit der Schaltfläche Resync Now Ihren Feed neu synchronisieren.

PHP: Die Datei php.ini auffinden

Um zu ermitteln, wo sich die Datei php.ini auf Ihrem Server befindet, tragen Sie in die Kommandozeile folgenden Befehl ein:

php -i | grep php.ini

Ein Linux- oder Unix-Server antwortet daraufhin wie folgt:

Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration File => /usr/local/lib/php.ini

Um die optimale Sicherheit zu gewährleisten, setzen Sie die Zugriffsrechte auf diese Datei auf 640. Hierzu wechseln Sie nun in das betreffende Verzeichnis mittels

cd /usr/local/lib/

und ändern Sie die Zugriffsrechte mittels

sudo chmod 640 php.ini

Apache: CMS-Umleitung

Wer seine Website in ein neues Verzeichnis verschiebt, benötigt eine Umleitung für Zugriffe von außen auf die alten Pfade. Die benötigte Umleitung können Sie entweder mittels mod_rewrite oder mittels mod_alias umsetzen. Um mod_rewrite zu nutzen, fügen Sie Ihrer .htaccess-Datei Folgendes hinzu:

RewriteEngine on
RewriteRule ^altesVerzeichnis(/.*)?$ /neuesVerzeichnis$1
[L,R=301]

Wenn Sie lieber mod_alias einsetzen möchten, fügen Sie Ihrer .htaccess-Datei diesen Code hinzu:

Redirect permanent /v1 /v2

PHP: Benötigte PHP-Funktionen aktivieren

Skripte wie ein Warenkorb oder ein Diskussionsbrett haben oftmals bestimmte Anforderungen an die PHP-Konfiguration, wie das Aktivieren der Funktion ini_set() oder das Deaktivieren von magischen Anführungszeichen, die ein bestimmter Webhoster nicht unbedingt erfüllt. Wenn Sie über root-Zugriff auf den Server (unter Linux) verfügen, können Sie die benötigten Anpassungen in php.ini selbst vornehmen. Hierzu erstellen Sie erst einmal eine Kopie der php.ini-Datei mittels

cp php.ini php.2

und verschieben Sie diese Kopie in das root-Verzeichnis der Website

mv php.2 /home/benutzername/public_html

oder in das Verzeichnis Ihrer Webapplikation

mv php.2 /home/benutzername/public_html/Webshop

Wechseln Sie dann in das betreffende Verzeichnis mittels

cd /home/benutzername/public_html/Webshop

und benennen Sie diese Datei um

mv php.2 php.ini

Jetzt müssen Sie noch die Rechte anpassen:

chown benutzername:benutzername php.ini

Nun können Sie die PHP-Konfiguration für die betreffende Website korrigieren, indem Sie diese Datei in einem Texteditor bearbeiten. Konkret also, um die Unterstützung für die Funktion ini_set() zu aktivieren, navigieren Sie zu der Zeile

disable_functions=[diese Funktionen sind deaktiviert]

und entfernen Sie hier den entsprechenden Eintrag. Nach dem Abspeichern der Datei wird die Konfiguration für die aktuelle Website übernommen. Falls Sie über root-Rechte nicht verfügen, können Sie selbst eine php.ini-Datei erzeugen und mit der passenden Anweisung der Konfiguration des PHP-Interpreters für Ihre Website überschreiben. Mit der Zeile

disable_functions=

ohne Angabe zu deaktivierender Funktionen würden Sie beispielsweise das Deaktivieren von PHP-Funktionen aufheben.

PHP: Fehlerausgabe unterdrücken

Nach der Installation einer Webapplikation, die mit Ihrem Webserver nicht vollständig kompatibel ist, läuft diese möglicherweise dennoch und gibt lediglich in irrelevanten Funktionsbereichen störende Fehlermeldungen aus.

Wenn Sie sicher sind, dass Sie auf die Behebung der Fehler verzichten können, steht es Ihnen frei, die Fehlermeldungen der betreffenden Funktionen stellenweise zu unterdrücken, indem Sie der betreffenden Zeile in der jeweiligen Skriptdatei das @-Symbol voranstellen. Der Vorteil: Andere Fehlermeldungen können Ihnen so nicht entgehen, da Sie die Ausgabe der Fehlermeldungen nicht pauschal, sondern nur stellenweise abgeschaltet haben.

PHP, MySQL: Deutsche Umlaute encodieren

Probleme mit der korrekten Kodierung der Benutzereingabe aus einem Web-Formular mittels UTF-8 unter Verwendung von PHP und MySQL können verschiedene Ursachen haben. Als Erstes sollten Sie sicherstellen, dass Ihre Webseite die korrekte Zeichensatzkodierung verwendet, im Falle von HTML 5 mittels dieser Meta-Deklaration im <head>-Abschnitt der Website:

<meta charset="utf-8">

In HTML 4.01 verwenden Sie stattessen

<meta http-equiv="content-type" content="text/html;
charset=UTF-8" />

Falls Sie den Header mittels PHP setzen, können Sie bei HTML 4.01 von der folgenden Zeile Gebrauch machen:

header("Content-type: text/html; charset=utf-8");

Um dem PHP-Interpreter (auch beim Einsatz von HTML 5) die benötigte Anweisung zu übergeben, können Sie alternativ den folgenden Code nutzen:

mb_internal_encoding("UTF-8");
ini_set("default_charset", "utf-8");

Diese Methode hat den Vorteil, dass sie den gefürchteten Fehler headers already sent nicht verursacht. Sollte sich diese Anweisung einmal nach der Übergabe der Header als erforderlich erweisen, werden Ihre Skripte dennoch funktionieren. Außerdem muss auch beim Verbindungsaufbau mit der MySQL-Datenbank der korrekte Parameter gesetzt werden. Letzteres geschieht wie folgt:

$verbindung = mysql_pconnect("$dbhost","$dbbenutzername",
"$dbpasswort") or die ("Verbindung fehlgeschlagen.");
mysql_set_charset("utf8",$verbindung);

Beim Einsatz von MySQLi können Sie alternativ die folgende Anweisung nutzen

$mysqli->set_charset("utf8")

und beim Verbindungsaufbau mittels PDO_MySQL

$pdo = new PDO(
"mysql:host=hostname;dbname=defaultDbName",
"username",
"password",
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);

Zu guter Letzt sollten noch die Datenbank und die Tabelle die passende Zeichenkodierung verwenden, beispielsweise utf8_unicode_ci oder utf8_general_ci. Die Kodierung utf8_unicode_ci sei Ihnen empfohlen, falls Sie die Unterstützung für Ligaturen wie ß benötigen, um die korrekte Sortierung von Texten sicherzustellen.

Die Zeichensatzkodierung utf8_general_ci sollte nur dann Verwendung finden, falls es primär auf Leistung und nicht auf die Unterstützung von Ligaturen ankommt. Bestehende Tabellen können Sie leicht konvertieren. Außerdem sollten Sie sicherstellen, dass der Code-Editor, in dem Sie Ihre Skriptdateien gegebenenfalls abspeichern, die UTF-8-Kodierung beherrscht.

Mehr zum Thema

internet, apple, safari, web-apps, ios, remote debugging, tipps, tricks
Tipps & Tricks

Wie Sie mit dem Safari-Browser schnell Webseiten und Web-Apps auf iOS debuggen können, zeigen wir Ihnen.
internet, webdesign, responsive webdesign, Performance, optimierung
Responsives Webdesign

Trotz aller Verzüge gibt es auch einen Schwachpunkt beim Responsive Webdesign: Die Performance ist oft schlecht, da dieselben Ressourcen für…
internet, webdesign, adobe,  Illustrator, CS6
Webdesign

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.
Facebook stellte die neue Suche
Facebook

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?
Der BGH erklärt das Internet zur Lebensgrundlage.
Online-Recht

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.