Unter Windows mit PHP Unix Kommandos nutzen

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Unter Windows mit PHP Unix Kommandos nutzen

Postby phedo » 05. January 2008 15:29

Hallo,

ich stehe im Moment bei meiner Überlegung ein wenig auf dem Schlauch und hoffe, daß vielleicht jemand aus dem Forum einen passenden Einfall hat, der mich in die richtige Richtung schubst.

Ich programmiere Webseiten und nutze dabei die Unix Kommandos wie z.B. ls, um Verzeichnisse auszulesen und deren Inhalte auf einer Webseite dann darzustellen. Funktioniert auch wunderbar.

Allerdings programmiere ich unter Windows, was bedeutet, daß dort die Kommandos nicht vorhanden sind. Und - in diesem Fall - ähnliche Kommandos wie dir nicht das Ergebnis bringen, wie ls es tut. Wie kann ich am geschicktesten auf Unix Kommandos zugreifen.

Tools wie UnixUtils oder Cygwin brauchen ja ihre eigene Shell und ich möchte auch nicht komplett auf Linux umsteigen. Ein Gedanke, der mir noch kam, war, die Programme für die Kommandos irgendwo abzulegen, in der Hoffnung, sie dann über einen Pfad ansprechen zu können, aber das ist auch keine ordentliche Lösung, weil ich dann in meiner Klasse wieder das Gefriemel habe und aussortieren muß, ob ich nun auf meinem Webserver oder auf dem lokalen Rechner bin.

Hat jemand noch eine Lösung, die ich noch gar nicht in Betracht gezogen habe ?

Für sachdienliche Tips und Hinweise bin ich dankbar!

Viele Grüße,

Phedo
phedo
 
Posts: 9
Joined: 19. February 2004 15:36

Postby Wiedmann » 05. January 2008 16:36

Wie kann ich am geschicktesten auf Unix Kommandos zugreifen.

Gar nicht (wenn man kein Unix hat). Oder besser: Gleich die PHP eigenen Funktionen dafür benutzen.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby phedo » 05. January 2008 17:35

Wiedmann wrote:Gar nicht (wenn man kein Unix hat). Oder besser: Gleich die PHP eigenen Funktionen dafür benutzen.


Hm, hatte ich schon befürchtet. Schade.

Die PHP-Funktionen sind mir dafür zu langsam und / oder zu unkomfortabel.

Vielen Dank für die Antwort!

Viele Grüße,

Phedo
phedo
 
Posts: 9
Joined: 19. February 2004 15:36

Re: Unter Windows mit PHP Unix Kommandos nutzen

Postby Scory » 05. January 2008 21:51

phedo wrote:Tools wie UnixUtils oder Cygwin brauchen ja ihre eigene Shell


Quatsch!

Womit das Problem gelöst ist.

Grüße
Scory
Scory
 

Re: Unter Windows mit PHP Unix Kommandos nutzen

Postby phedo » 05. January 2008 22:03

Scory wrote:Quatsch!

Womit das Problem gelöst ist.


Nun, sachdienlich sieht für mich ehrlich gesagt etwas anders aus. Aber ist ja nicht so schlimm, gibt ja viele Leute, die kurz und knackig antworten.

Wie genau soll das dann aussehen ? Cygwin installieren, PHP-File erstellen und z.b. mit exec einfach mal ein Kommando ausführen, z.B. pwd ?

Also ich bekomme da keine Ausgabe - was mein Problem somit nicht wirklich löst.

Vielleicht jemand anderes, der mir da noch ein wenig weiterhelfen kann ?

Viele Grüße,

Phedo
phedo
 
Posts: 9
Joined: 19. February 2004 15:36

Postby sari42 » 05. January 2008 23:43

>einfach mal ein Kommando ausführen, z.B. pwd ?

php hat fast für alles ein Pendant:

echo getcwd();
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby phedo » 05. January 2008 23:47

sari42 wrote:php hat fast für alles ein Pendant:

echo getcwd();


Ja, das weiß ich. Ich möchte aber keine PHP-Funktionen nutzen. (das 'pwd' war vielleicht ein unpassendes Beispiel. Klarer wird es vielleicht bei 'ls')
phedo
 
Posts: 9
Joined: 19. February 2004 15:36

Re: Unter Windows mit PHP Unix Kommandos nutzen

Postby Scory » 06. January 2008 12:17

phedo wrote:Also ich bekomme da keine Ausgabe - was mein Problem somit nicht wirklich löst.


Weil Du 100%ig vergessen hast, den Pfad zu den Programmen (beispielsweise c:/cygwin/bin) in die PATH-Variable von Windows zu übernehmen.

Alternativ könntest Du auch statt system("ls") auch system("C:/cygwin/bin/ls.exe") ausführen (vollqualifiziert), aber das ist nicht portabel zu Linux, weswegen es besser ist, den PATH anzupassen.

Apache muss neu gestartet werden, nachdem das Environment geändert wurde (evtl. muss sogar der PC neu gestartet werden), sonst bekommt der Prozess die Änderung nicht mit.

Eigentlich kinderleicht...

Grüße
Scory
Scory
 

Postby phedo » 06. January 2008 13:16

Ich muß Dich leider enttäuschen, ich habs nicht vergessen, geht dennoch nicht. Ich schau mal in die Richtung weiter, vielleicht liegt es ja noch woanders.

Das ich nicht den gesamten Pfad nehmen will, sagte ich schon im Startpost, von daher fällt die Lösung ja leider weg bzw. ich würde sie ungern einsetzen.

Viele Grüße
Phedo
phedo
 
Posts: 9
Joined: 19. February 2004 15:36

Postby Scory » 06. January 2008 13:35

phedo wrote:Ich muß Dich leider enttäuschen, ich habs nicht vergessen, geht dennoch nicht. Ich schau mal in die Richtung weiter, vielleicht liegt es ja noch woanders.


Das liegt dann immer noch bei Dir - ich habe inzwischen nicht nur Cygwin testweise installiert, bei mir läuft auch das kleine Testprogramm fehlerfrei (unter Windows XP):

Code: Select all
<?php
        echo "<pre>";
        system("ls -l");
        echo "</pre>";
?>


Enttäuschen tust Du allenfalls Dich selbst, dass Du es nicht hinbekommst - so einfach ist es.

Grüße
Scory
Scory
 

Postby phedo » 06. January 2008 14:34

Weißt Du Scory, ich bin nicht enttäuscht, wenn ich etwas nicht hinbekomme, dafür bin ich schon viel zu lange in der IT-Branche. Enttäuscht bin ich nur über Leute, die meinen, scheinbare Überlegenheit zeigen zu müssen.

Aber dennoch vielen Dank, daß Du mir etwas von Deiner wertvollen Zeit geopfert hast.

Viele Grüße,

Phedo

~~~~ CLOSED ~~~~
phedo
 
Posts: 9
Joined: 19. February 2004 15:36

Postby Scory » 06. January 2008 14:55

phedo wrote:Weißt Du Scory, ich bin nicht enttäuscht, wenn ich etwas nicht hinbekomme, dafür bin ich schon viel zu lange in der IT-Branche.


Und dann kriegst Du so einen einfachen Popel nicht hin? Peinlich...
Scory
 


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 7 guests