RSS Feed
Jun 14

PHP-Soap auf einem 1&1 ROOT-Server mit openSUSE installieren

Veröffentlich am Dienstag, 14. Jun 2011 in Webserver

Ich habe vor kurzem mal wieder einen Webservice, der eine SOAP Schnittstelle bot, per PHP ansprechen müssen. Das ist ja mit den Funktionen, die PHP liefert auch kein Problem und funktioniert dann fast genau so einfach wie der Funktionsausruf einer externen Bibliothek.

Um SOAP nutzen zu können, muss es über die php.ini Datei aktiviert werden oder in das Verzeichnis für die Erweiterungen (z.B. unter /usr/lib64/php5/extensions). Was aber, wenn die SOAP Bibliothek nicht installiert ist? Dann muss man es je nach Betriebssystem nachinstallieren. Unter Linux geht das über die Paketmanager oft am einfachsten.

Für openSUSE könnt ihr hierfür den Paketmanager YAST verwenden. Der Befehl dazu lautet wie folgt:

yast -i php5-soap

Der Vorteil bei der Installation über den Paketmanager: Die Bibliothek wird auch gleich in die bestehende Konfiguration eingetragen. Somit könnt ihr direkt nach der Ausführung des Befehls loslegen. Solltet ihr noch nie mit Webservices gearbeitet haben, dann findet ihr in der PHP Doku die wichtigsten Funktionen von SOAP in PHP.

Jetzt viel Spaß oder auch viel Ärger mit SOAP :)

Jan 23

Shortcut des Monats: STRG + SHIFT + T (Aptana)

Veröffentlich am Sonntag, 23. Jan 2011 in Shortcut

Vor ein paar Tagen war ich gerade dabei in eclipse (bzw. genauer gesagt in Aptana 1.5) an einem Projekt zu arbeiten. Dabei habe ich aus Versehen eine Datei geschlossen, obwohl ich noch nicht fertig war. Um diese Datei jetzt wieder zu öffnen hätte ich die “Project View” öffnen können und die Datei über die Verzeichnisliste öffnen können.

Der Shortcut

Man kennt aber von vielen Programmen den Shortcut zum Öffnen eines gerade geschlossenen Fensters/Tabs. Wieso sollte dieser also nicht auch in eclipse funktionieren? Also habe ich ihn kurzerhand mal gedrückt und erwartet, dass die gerade geschlossene Datei wieder geöffnet wird:

STRG + SHIFT + T

(weiterlesen …)

Mär 9

Assoziatives Array als HTML Tabelle ausgeben

Veröffentlich am Dienstag, 9. Mär 2010 in Webentwicklung

Sehr häufig wird gefordert ein assoziatives Array als HTML Tabelle auszugeben. Ich nutze hier sehr oft die implode() Funktion, um dabei mit möglichst wenig Quellcode zu dem Gewünschten Ergebnis zu kommen. Da ich meine Lösung wirklich sehr schön und genial einfach finde, wollte ich euch kurz die Funktion präsentieren. Als auszugebendes Array nehmen wir das MySQL-Debugging Array aus meinem vorherigen Artikel MySQL unter PHP debuggen mit einer eigenen MySQL Klasse.

function array_to_table($a){
	$t='<table>';
	$t.='<tr><th>'.implode('</th><th>', array_keys($a[0])).'</th></tr>';
	foreach($a as $row){
		$t.= '<tr><td>'.implode('</td><td>', $row).'</td></tr>';
	}
	return $t.='</table>';
}

// Ausgabe der Tabelle
echo array_to_table($mysqli->queries);

(weiterlesen …)

Mär 4

MySQL unter PHP debuggen mit einer eigenen MySQL Klasse

Veröffentlich am Donnerstag, 4. Mär 2010 in Webentwicklung

Bei einem meiner Projekte kam es zu ungewöhnlich langen Ladezeiten eines Formulars. Da hier allerdings auch sehr viele Datenbankabfragen ausgeführt werden müssen und dabei auch noch die Werte per COUNT() gezählt werden wunderten mich die Zeiten nicht wirklich.

Nun wollte ich natürlich wissen, welche Abfrage dabei besonders viel Zeit in Anspruch nimmt um dann gezielt optimieren zu können. Ich setze in dem Projekt auf die MySQLi Klasse von PHP. Da ich hierbei die Klasse objektorientiert nutze, war es sehr einfach möglich diese zu erweiterten. Eine Möglichkeit wäre es natürlich gewesen eine eigene Funktion zu schreiben, aber in diesem Fall hätte ich auch alle Skript anpassen müssen, in denen ich eine Query ausführe. Daher habe ich mich dazu entschlossen einfach die query() Funktion von MySQLi zu überschreiben. Hier ein stark vereinfachtes Beispiel, wie so etwas aussehen könnte:

(weiterlesen …)

Mär 3

Das Bermudadreieck des Internet Explorer – Oder: Wo zum Teufel ist mein Ordner hin?

Veröffentlich am Mittwoch, 3. Mär 2010 in Webentwicklung

Heute bin ich mal wieder auf ein sehr faszinierendes Problem mit dem Internet Explorer gestoßen. Meine erste Vermutung war mal wieder ein Programmierfehler im vielgeliebten IE6, aber der Fehler trat auch im Internet Explorer 7 auf.

Ich nutze in einem Projekt absolute Pfade in allen Dateinamen, Links und Formularen. Nun hatte ich aber im einem Formular dummerweise das Gleichheitszeichen nach dem Short Open Tag in PHP vergessen. Mein Formular sah also in verkürzter Form wie folgt aus:

<form action="<? ABSOLUTER_PFAD ?>form.php">
...
</form>

(weiterlesen …)

Feb 17

Zeilen-Duplizierer mit AutoComplete Felder nutzen

Veröffentlich am Mittwoch, 17. Feb 2010 in Webentwicklung

Ich bekam heute in einem Kommentar die Frage gestellt, ob mein Zeilen-Duplizierer aus dem Beitrag: Einfacher Zeilen-Duplizierer mit Prototype auch auf Feldern funktioniert, die die Scriptaculous Ajax.AutoCompleter Funktion verwenden.

Ich nutze den Duplizierer selbst in einem Formular, das solche Felder enthält. Meine erste Fassung entsprach dabei dem Einzeiler aus dem vorherigen Beitrag. Das Problem dabei ist allerdings, dass die AutoCompleter Funktion beim Erzeugen mit dem Felder verknüpft wird, auf das sie angewendet werden soll. Wenn man nun dieses Feld kopiert wird nicht eine neue Instanz des Ajax.AutoCompleter erzeugt, sondern die Referenz auf das alte Feld mit kopiert. Ein Eintrag im neu erzeugten Feld aktiviert also die AutoCompleter Funktion des vorherigen Feldes.

(weiterlesen …)

Feb 7

Backend Localization Plugin funktioniert nun auch mit PHP4

Veröffentlich am Sonntag, 7. Feb 2010 in WordPress

Anfang der Woche bekam ich einen Kommentar zu meinem Backend Localization Plugin mit dem Hinweis, dass es nicht mit PHP4 funktioniert. Da ich schon lange PHP5 nutze und auch versuche meinen Quellcode übersichtlich zu gestalten, habe ich in meinem Plugin einige Funktionen und Eigenschaften genutzt, die es für PHP4 noch nicht gab.

Der Kommentator, der den Fehler gefunden hat, konnte auch selbst am nächsten Tag schon eine Lösung finden, die er auf seinem eigenen Blog sowie als weiteres Kommentar hinterlassen hat. An dieser Stelle nochmals vielen Dank an David.

Ich versuche Fehler, die mir mitgeteilt werden immer innerhalb von wenigen Tagen zu beheben. Dazu bin ich natürlich darauf angewiesen, dass mir diese auch mitgeteilt werden. Bei WordPress kann es sehr oft vorkommen, dass sich zwei Plugins nicht zusammen vertragen. Wenn ihr also mit einem meiner Plugins ein Problem feststellen solltet, dann scheut euch nicht mir das mitzuteilen. Ich werde gerne versuchen das Problem zu beheben.

Jan 24

Arrays und andere komplexe Daten mit PHP in einer MySQL-Datenbank speichern

Veröffentlich am Sonntag, 24. Jan 2010 in Webentwicklung

Viele von euch werden wohl schon einmal vor dem Problem gestanden haben, dass sie ein Array oder ein Objekt in der Datenbank speichern mussten. Hier möchte ich ein paar Vorschläge unterbreiten, wie man das Problem nicht lösen sollte und wie es besser gehen kann.

Der schlechte Weg

Die einfachste und gleichzeitig auch schlechteste Methode wäre es, für jeden Index eines Arrays oder jede Eigenschaft eines Objekts eine neue Spalte zu erzeugen. Bei diesem Ansatz werden unter Umständen viele Zeilen erzeugt, die nicht immer einen Wert enthalten. Das ist zwar nicht so gravierend, aber durch diesen Ansatz erhöht sich auch die Anzahl der Spalten schnell auf eine unübersichtliche Anzahl. Zuletzt ist es hierbei bei jeder Änderung des Arrays oder Objekts notwendig die Datenbanktabelle anzupassen.

(weiterlesen …)

Jan 4

PDF-Dokument ohne PDFlib mit PHP erzeugen

Veröffentlich am Montag, 4. Jan 2010 in Webentwicklung

Viele von euch werden wohl XAMPP benutzen, um lokal in PHP zu entwickeln und zu testen. In der Windows-Version enthält es auch die PHP-Extension PDFlib, die aber leider auf vielen Hostingpaketen mit Linux als Betriebssystem nicht enthalten ist. Da PDFlib mehrere hundert Euro Lizenzgebühren kostet stellen sich viele die Frage, ob es sinnvolle und kostenlose Alternativen gibt. Glücklicherweise gibt es Alternativen und eine sehr umfangreiche möchte ich euch kurz vorstellen.

Die kostenlose TCPDF Library

Nachdem ich ein paar kostenlose PDF Klassen für PHP getestet habe, hat sich ein klarer Sieger herausgestellt. Die Klasse TCPDF zeichnet sich nicht nur durch seinen großen Funktionsumfang, sondern auch durch seine sehr gute Quellcode-Kommentierung und die gute Dokumentation der Funktionen.

(weiterlesen …)

Nov 23

Plesk Cronjob für ein PHP-Skript mit Parametern einrichten

Veröffentlich am Montag, 23. Nov 2009 in Webserver

Bei vielen Webhosting Paketen gibt es die Möglichkeit einen Cronjob einzurichten. Leider musste ich nach dem Umstieg von einem 1&1 Managed Homepage Server auf einen 1&1 Linux Root Server feststellen, dass diese Option im Control Center nicht mehr verfügbar war. Auch meine Suche nach dem “Crontab” in Plesk war erst einmal erfolglos, da die Funktion an der beschriebenen Stelle nicht zu finden war. Durch Zufall habe ich sie dann doch gefunden.

Plesk Hauptmenü - Server

(weiterlesen …)

Impressum