2016-11-21 5 views
1

Ich habe die Bash-Funktion auf meinem Windows 10, es funktioniert gut, aber ich kann nicht herausfinden, wie man es mit PHP verwenden, trotz viel Forschung. Ich möchte eine popen wie folgt verwenden:Verwenden Sie Windows Bash mit PHP

$fp = popen("tail ".$file, "r"); 

Aber die error.log sagt, dass Schwanz nicht als interner oder externer Befehl erkannt wird. PHP erkennt keine Bash-Befehle, aber sie arbeiten in einer Shell. Ich habe versucht, die Umgebungsvariablen zu bearbeiten, die PATH aber nichts ...

Ich würde wirklich etwas Hilfe schätzen, danke!

+0

Schwanz ist kein bash Befehl, es ist ein separates Programm. Es sollte entweder '/ bin/tail' oder'/usr/bin/tail' sein. – ccarton

+0

Führen Sie das Skript innerhalb von Windows oder Bash? – Pitchinnate

+0

Nun, es gibt kein Skript, ich möchte nur diesen Befehl mit meiner PHP-Zeile popen verwenden, es funktioniert in einer Shell. Aber es scheint, als ob keiner der Bash-Befehle funktioniert, auch wenn ich Bash unter Windows eingerichtet habe. Und ich weiß, dass diese Zeile an einer Linux-Installation arbeitet, also ... Es ist langweilig. Danke für deine Antwort. –

Antwort

1

Sie führen PHP von Windows aus. Nur weil Sie Linux Bash installiert haben, bedeutet das nicht, dass alle Anwendungen, die darin installiert sind, in Windows verfügbar sind. Sie sind zwei völlig verschiedene Entitäten.

Wenn Sie PHP innerhalb von Linux Bash installieren und das Skript von Linux ausführen, sollte es funktionieren.

Eine weitere Alternative ist die Installation von Git für Windows oder Cmder oder etwas ähnliches. Sie haben eine Windows-Version von tail, Sie müssen nur sicherstellen, dass es zu Ihrem Pfad in Windows hinzugefügt wird.

Für normale Git für Windows-Installation Sie es finden:

C:\Program Files\Git\usr\bin\tail.exe 
+0

Und es ist nicht möglich, die Bash von Windows im PATH hinzuzufügen, um es so zu benutzen? Ich habe es versucht, aber vielleicht mit dem falschen Weg. Vielen Dank. Edit: Und mit Git oder Cmder kann ich den Tail-Befehl mit PHP verwenden? –

+0

Wenn Sie bash zum Pfad von Windows hinzugefügt haben, würde alles, was tun würde, auf die ausführbare Datei zugreifen, die die VM ausführt, nicht auf die Anwendungen innerhalb der VM. Ja, wenn Sie Git für Windows/Cmder verwenden, haben sie Windows-Versionen der Tail-Anwendung. – Pitchinnate

Verwandte Themen