Phing: Remote Tasks Loggen

25. Februar 2011 in Allgemein von Leo

Was in lokalen Phing Tasks abläuft wird bekanntlich in der Konsole angezeigt. So weiss man auch gleich den Grund falls ein Task scheitert.

Hat man nun aber einen Remote Task, läuft dieser auf dem Server ohne das wir etwas mitbekommen. Scheitert ein Task wüssten wir nicht gleich genau wieso. Um dies nun aber zu Loggen, bietet Phing hier einen Parameter der beim Aufrufen mitgegeben werden kann.
Nehmen wir an wir machen z.B. ein PHP exec():

exec("phing testTask -logfile log.txt");

Nun wird alles was auf dem Server passiert in das Logfile “log.txt” geschrieben. Dies geschieht natürlich auch auf dem Server.

Natürlich funktioniert dies auch mit dem Phing exec Task:

<exec dir="/home/" command="phing testTask -logfile LOG.txt"  />

Nachtrag:
Mittlerweile habe ich endlich herausgefunden wie Remote Logs geloggt werden können, welche jedoch nicht mit exec ausgeführt werden. D.h. Phing wird nur temporär auf dem Remote Server sein und per PHP gestartet.

So funktionierts:

// ...
Phing::startup();
Phing::fire(array('-logfile', 'LOG.txt'));
Phing::shutdown();
// ..

Dies ist nur ein kurzer Auszug aus dem Script welches wir aufrufen um Phing auf dem Remote Server zu starten. Wie man aber sehen kann, wird dem “fire” ein Array mitgegeben, in welchem man alle Anweisungen welche wir vom exec kennen mitgeben kann. Diese Optionen findet ihr hier.

Versteckte Dateien in Aptana Studio anzeigen lassen

in Software von Leo

Um versteckte Dateien oder Dateien wie z.B. die .htacces-Datei, die mit einem Punkt anfängt in Aptana anzeigen zu lassen, muss man lediglich den Filter bearbeiten.
Den Filter für die Einstellungen findet man im Project Explorer (ich gehe hier von Aptana Studio 3 aus, jedoch ist es in älteren Versionen identisch).

Hier ein Bild wo dies zu finden ist:

In dem Fenster das sich nun öffnet muss beim Eintrag .*files das Häckchen entfernt werden. Danach noch die Einstellungen übernehmen und Aptana zeigt ab sofort alle Dateien und Ordner an.

Phing: Bedingungen nach Betriebssystem für Befehle

22. Februar 2011 in Coden von Leo

Um in Phing einen Befehl (Command) nur auf einem bestimmten Betriebssystem auszuführen, gibt es die Option OS. Wir können also in Befehlen in Phing die Option OS mitgeben und so nur ein bestimmtes Betriebssystem ansprechen.

Dies sieht dann z.B. so aus:

<exec command="mklink /d verzeichnis1 verzeichnis2" dir="C:\dev" os="WINNT" />

Dieser Befehl wird nur auf einem Windows System ausgeführt, da wie man hier sieht sowieso nur ein unter Windows bekannter Befehl ausgeführt wird.

Hier ausserdem eine Liste mit verschiedenen Möglichkeiten:

    * CYGWIN_NT-5.1
    * Darwin
    * FreeBSD
    * HP-UX
    * IRIX64
    * Linux
    * NetBSD
    * OpenBSD
    * SunOS
    * Unix
    * WIN32
    * WINNT
    * Windows