startup-tools.de - Tools für StartUps und Unternehmensgründer.

Fehleranalyse – PHP Syntaxfehler

Wie bereits in PHP Fehleranaylse – Debugging beschrieben, sind die PHP Syntaxfehler den logischen Fehler vorzuziehen. Leider hat man nicht immer die Wahl, die wahrscheinlich ohnehin auf gar keine Fehler Fallen würde. Heute möchte ich mich den Syntax Fehlern in PHP widmen.

Wie kann man PHP Syntaxfehler ausgeben?

Es gibt unterschiedliche Lösungen wie man das Ausgeben von PHP Fehlern aktiviert. Wobei jede Variante Ihre Vorzüge hat.

PHP Fehlerausgabe durch die php.ini – Datei aktivieren

Diese Variante sollte nur in einer gesicherten Testumgebung verwendet werden ist dann aber Praktisch, weil nicht in jedem Script extra die Ausgabe der Fehler akitivert werden muss. In einem Online-Umfeld sollte diese Variante sofern sie zur Verfügung steht nicht genommen werden.

In der php.ini gibt es zwei Zeilen mit der die Fehlerausgaben beeinflusst werden diese lauten

error_reporting=E_ALL
display_errors=On

Ist display_errors=Off werden keine Fehler ausgeben mit On werden diese ausgegeben. Mit dem Eintrag error_reporting kann definiert werden welche Fehler ausgeben werden. Hier steht E_ALL für alle Fehler.

Fehlerausgabe mit der .htaccess – Datei aktivieren

Der Vorteil dieser Variante ist, dass die Änderungen ohne Server Neustart gültig sind und das für das gesamte Verzeichnis gelten, also muss die Aktivierung nicht in jeder eigenständigen Datei erfolgen.

Durch einfügen des Folgenden Codes wird die Fehlerausgabe aktiviert.

php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on

Fehlerausgabe zur Laufzeit mit PHP aktivieren

Außerdem kann man noch mittels PHP-Code die Ausgabe von Fehlern aktivieren. Folgender Code aktiviert die Ausgabe von Fehlermeldungen zur Laufzeit.

error_reporting(E_ERROR);
ini_set(‚display_errors‘,1);

Der Vorteil dieser Variante ist Sie kann auf einzelne Dateien mal eben angewendet werden um zu testen ob alles Richtig ist.

Fehlermeldung verstehen!

Nachdem nun alle Fehler ausgeben werden, muss man nun noch verstehen was die Fehlermeldungen bedeuten und welche Informationen darin enthalten sind.

PHP Fehleranalyse – Debugging

Heute möchte ich euch erklären wie man Fehler in PHP findet und behebt. Das Thema PHP Fehleranalyse bzw. Debugging ist so umfangreich, dass es in mehrere Artikel aufgeteilt wird. Den Anfang macht eine Einleitung.

Welche Fehler gibt es?

Es gibt im groben zwei Fehlerarten. Die Syntaxfehler und die logischen Fehler. Die Syntaxfehler sind die „guten“ Fehler. Die logischen Fehler sind die gefährlichen Fehler.

Es hat einen einfachen Grund warum ich die Syntaxfehler als „gut“ bezeichne. Diese können mit Hilfe von PHP Fehlermeldungen relativ schnell gefunden werden. Auch die Syntaxfehler möchte ich noch einmal unterteilen, den im groben wird, dies von PHP auch so gemacht. Zum einen gibt es, die Fehler, die zu einem Abbruch des Scriptes führen und es gibt Fehler die „nur“ eine Warnung ausgeben. Letztere sind in PHP nicht zwingend Fehler sondern Teilweise auf Faulheit des Programmierers zurück zuführen. Genau genommen sollte aber dafür gesorgt werden, dass auch diese Warnungen alle behoben werden. Diese können nämlich große Probleme darstellen und zu logischen Fehlern führen.

Wie erkennt man Fehler im PHP-Script?

Das hängt von der Fehlerart ab. Syntaxfehler erkennt man wie bereits erwähnt an den Fehlermeldung (voraus gesetzt die Fehlermeldungen sind aktiv) die logischen Fehler erkennt man daran, dass das Script bei einer bestimmte Eingabe nicht die erwartet Ausgabe liefert. Mit anderen Worten nur durch testen.

PHP Fehlermeldungen

Die Fehlermeldungen die PHP ausgibt, sind in der Regel sehr hilfreich wenn es darum geht einen Syntaxfehler zu finden. Leider gibt es auch Fehlermeldung die nicht sofort Rückschlüsse zu lassen. Meistens sind  Klammerfehler nicht so gut zu finden wie dies bei anderen PHP-Fehlern ist. Da nicht die Zeile ausgeben wird in der der Fehler auftritt sondern in der der Fehler erkannt wird. Der Grund dafür ist das nur der Programmierer die Logik kennt und weis wo genau die Klammer zu finden Sein müsste.

Ausblick

In der nächsten Zeit werde ich Artikel schreiben wie man Syntaxfehler und logische Fehler findet. Dazu werde ich erklären wie man für PHP eine Arbeitsumgebung aufsetzt mit der man auch logische Fehler gut finden kann.

Fazit

Ein gutes Script erfordert viel Arbeit und dazu gehört auch das man sich mit dem Thema Fehleranalyse auseinandersetzt. Es erfordert manches mal sehr viel Geduld einen logischen Fehler zu finden.

 

 

Virtuelle Server mit XAMPP

Heute möchte ich mich der Frage widmen, wie man virtuelle Server mit XAMPP erstellt.

Wozu benötigt man virtuelle Server?

Bei einem Webserver wird der virtuelle Server benötigt um mehr als eine Domain-Projekt-Kombination auszuführen. In einer Lokalen Testumgebung kann es einem einige Arbeit erleichtern und mache PHP-Script funktionieren nicht in Unterverzeichnissen, da zum Beispiel die Links sonst nicht korrekt aufgelöst werden.

Was muss ich tun um einen virtuellen Server einzurichten?

Zunächst wird das Installationsverzeichnis von XAMPP aufgerufen. Anschließend wird der folgende Pfad gewählt: apache > conf > extra.

Darin enthalten ist die Datei http-vhosts.conf, diese wird mit einem Text-Editor geöffnet.

Standardmäßig enthält die Datei nur Kommentare (alles nach der # wird als Kommentar gewährtet).

Um mehrere „Domains“ zu installieren müssen wir für jede „Domain“ einen Eintrag anlegen. Der Beginn und das Ende sind für alle Einträge gleich (vorausgesetzt ist handelt sich um HTTP-Verbindung).

Grundeintrag in der http-vhosts.conf

Eingeleitet wird der Eintrag durch <VirtualHost *:80>. Dabei steht 80 für den Port 80 der für HTTP-Anwendung verwendet wird. * steht für jede IP, hier könnte man abhängig von der Aufruf IP unterschiedlich Inhalte ausliefern lassen.

Beendet wird der Eintrag durch </VirtualHost>.

Nun kommen wir zum eigentlichen Teil. Die folgenden Angaben sind Pflichtangaben alle weiteren Angaben sind optional.

DocumentRoot „C:\xampp\htdocs“
ServerName localhost

Über den Servernamen wird definiert für welche „Domain“ die Regel gilt.

Mit DocumentRoot wird mitgeteilt in welchem Verzeichnis die Inhalte für die entsprechende Domain hinterlegt sind.

Zusätzliche Einstellungen

Der oben genannte Eintrag kann erweitert werden. Es können der Serveradmin sowie individuelle Logdateien hinterlegt werden.

ServerAdmin webmaster@localhost
ErrorLog logs/localhost-error_log
TransferLog logs/localhost-access_log

Über ServerAdmin wird der Serveradmin hinterlegt. ErrorLog definiert in welcher Datei Fehler gespeichert werden. Und TransferLog gibt an in welcher Datei Zugriffe dokumentiert werden. Diese Einstellung sind optional.

Der fertige Eintrag

Der fertige Eintrag sieht wie folgt aus:

<VirtualHost *:80>
DocumentRoot „C:\xampp\htdocs“
ServerName localhost
ServerAdmin webmaster@localhost
ErrorLog logs/localhost-error_log
TransferLog logs/localhost-access_log
</VirtualHost>

Und was noch

Bei einem Server der über das Internet zu erreichen sein soll muss mittels DNS noch der Domainname dem Server zugeordnet werden.Im lokalen Testbetrieb sind muss sofern eine „Domain“ verwendet wird diese dem Rechner zugeordnet werden. Dies geschieht über die hosts-Datei. Der Pfad hängt vom verwendeten Betriebssystem ab. Und zu guter letzt muss XAMPP neu gestartet werden.

XAMPP startet nicht – Port 80 vom System blockiert

Heute habe ich festgestellt das nach der Installation von Microsoft WebMatrix XAMPP nicht mehr gestartet werden kann. Nach der ersten Suche deutete alles auf den IIS hin, dieser war nicht das Problem.

Das Problem lies sich ermitteln, durch aufruf des NetStat-Tools von Xampp. Hier wurde ausgeführt, das Port 80 vom System belegt ist. Im folgenden Schritt habe ich in der CMD folgenden Befehl abgesetzt net stop http dieser zeigte welche Dienste auf den Port zugreifen. Ist sind mehrere Dienste einige davon sind, aber schon vorher aktiv gewesen. Nach kurzer Recherche habe ich heraus gefunden das auch der Webbereitstellungs-Agent-Dienst das Problem sein kann.

Diesen habe ich dann in der „Systemsteuerung > Verwaltung > Dienste“ für künftige Startsdeaktiviert und für die aktuelle Sitzung beendet. Und siehe da XAMPP funktioniert wieder.

Hinweis: Bei der Recherche wurden außerdem des öfteren Problem mit dem IIS oder mit Skype beschrieben. Sollte diese Beschreibung nicht helfen Probiert entsprechende Lösungen in der Richtung.

Microsoft WebMatrix 3

Nach dem Lange keine neuen Informationen auf Starup-Tools erschienen sind ist jetzt mal wieder an der Zeit. Heute geht es heute um einen HTML-Editor. Es geht um Microsoft WebMatrix.

Bei WebMatrix handelt es sich um einen Code-Editor was sofort auffällt der Editor erstellt ein neues HTML-Dokument in HTML5. Hier gibt es sofort einen Plus Punkt, da viele HTML-Editoren lange nicht mehr weiter entwickelt wurden, ist das für eine kostenlose Software fortschrittlich.

Nach dem ich nach langer Zeit von Webcraft auf Microsoft Expression Web umgestiegen bin, ist dies ein neuer Konkurrent der Expression Web verbannen könnte.

Zugegeben im Vergleich zu Expression Web ist der WebMatrix vom Funktionsumfang deutlich kompakter. Dafür kann die Funktion über Plugins erweitert werden wobei ich die meisten Funktionen von Expression Web meisten nicht verwende, da es von Hand einfach schneller geht, als in der Vielzahl von Menüs und Fenstern die richtige Funktion zu finden. Aus diesem Grund empfinde ich den geringen Funktionsumfang eher als Vorteil, den als Nachteil.

Etwas ist leider nicht perfekt das Syntax-Highlighting ist relativ Kontrastlos, sodass eine Unterscheidung sofern man auf das Syntax-Highlighting zurückgreift wenig nutzen bringt. Auch die Autovervollständigung könnte etwas besser funktionieren, den man kann die Parameter einer Funktion nur sehen solange noch die möglichen Funktionen angezeigt werden, ist die Gewünschte Funktion einmal gewählt werden die Parameter ausgeblendet, was gerade bei PHP wo hin und wieder die Parameter, bzw. deren Reihenfolge etwas konfus ist, ein schöner Bonus wäre.

EDIT: Heute ist mir auf gefallen das XAMPP nach der Installation nicht mehr funktioniert die Lösung beschreibe ich in einem extra Artikel.

Fazit

Ich finde den Editor gelungen wie gesagt sehr einfach gehalten keine überflüssigen Funktionen und eben auf dem Stand der Technik. Punktabzug gibt es für das Syntaxhighlighting und die Autovervollständigung. Ich werde die Software auf jeden Fall auf meinem Zettel haben und mal schauen vllt. wird Expression Web bald abgelöst.

Microsoft Expression Web

Seit einiger Zeit verwende ich Expression Web. Vorher habe ich lange Zeit Webcraft verwendet, doch leider gab es immer wieder Fehlermeldungen beim beenden und die Weiterentwicklung wurde leider eingestellt.

Expression Web von Microsoft hat einen enormen Funktionsumfang. Tolle Funktion zum erstellen von Stylesheets. Nachteil daran ist, das es teilweise schneller geht diese von Hand zu erstellen, da man Teilweise die Entsprechenden Punkte suchen muss.

Ein weiteres Manko: Es wird kein HTML5 unterstützt. Bei CSS ist es ähnlich, der Editor kann zwar CSS3 Einstellungen vornehmen, im Quelltext werden diese allerdings als Fehler markiert.

Wie nutzt man Costum Post Types in WordPress?

Post Types in WordPress beschreiben Strukturen die zur Representation von Inhalten genutzt werden. Als Custom Post Types bezeichnet man Strukturen die von Benutzern selbst angelegt wurden. Mit hilfe der Custom Post Types kann man also alle Inhalte in der gewünschten Art und Weise verwalten.

(mehr …)

Wie kann man jedes Projekt mit WordPress realisieren?

Heute starte ich eine neue Serie. Diese soll klären wie man mit Hilfe von WordPress nahezu jedes Projekt um setzen kann.

Um dies heraus zu arbeiten werde ich beginnen die Grundlagen heraus zuarbeiten. Später werde ich noch auf Plugins, Einstellungen und Sprachpaket ein gehen. Außerdem werde ich Fortgeschrittene Funktionen von WordPress erläutern.

(mehr …)

100 Euro Business – Das Ende

Heute geht es nach langer Zeit weiter mit dem Report über, das 100 Euro Business. Es ist eine lange Zeitvergangen. Ich habe viele Erfahrungen gemacht über die ich jetzt berichten möchten.

(mehr …)

OpenOffice Serienbrief

Heute möchte ich eine kleine Anleitung geben wie man mit OpenOffice einen Serienbrief erstellt. Im laufe meiner Selbstständigkeit habe ich festgestellt, das es zwar nicht schwer ist aber doch schwieriger als gedacht. Ich beginne mit einer Textversion es soll aber auch ein Video folgen.

(mehr …)