it-swarm.com.de

Wie führe ich ein PHP Programm von der Eingabeaufforderung auf einem Windows-Computer?

Ich bin ein PHP Entwickler von Beruf.

Ich verwende ein Lenovo Ideapad-Notebook das auf Windows 10 Home Single Language 64-Bit-Betriebssystem

Ich habe auch XAMPP Control Panel v3.2.2 am Speicherort "C:\xampp" zum Ausführen PHP Programme in einem Webbrowser auf meinem Rechner.

Die Datei "php.exe" befindet sich am Speicherort "C:\xampp\php" .

Das Dokument-Stammverzeichnis zum Speichern der PHP -Dateien befindet sich am Speicherort "C:\xampp\htdocs" .

Ich kann die PHP Programme ausführen, die ich erstellt und in einem Verzeichnis C:\xampp\htdocs\html_playground gespeichert habe, indem ich dieXAMPPSoftware starte (durch Doppelklick auf die auf meinem Desktop vorhandene XAMPP-Verknüpfung) und Eingabe der URL einer Programmdatei wie dieser " http: //localhost/html_playground/sample.php " in die Adressleiste eines Browsers .

Auf diese Weise kann ich die Programme PHP ausführen, möchte aber dasselbe Programm über Windows-Eingabeaufforderung ausführen.

Dafür habe ich folgende Schritte gemacht:

  • Ging zu Ging zu Erweiterte Systemeinstellungen (Systemsteuerung\System und Sicherheit\System\Erweiterte Systemeinstellungen)
  • Klicken Sie dann auf Umgebungsvariablen
  • Dann wählte die Variable Pfad
  • Klicken Sie dann auf Bearbeiten ...
  • Dann fügte ich nach dem letzten Semikolon der vorhandenen Zeichenfolge die Zeichenfolge "C:\xampp\php" hinzu, indem ich nach dem Semikolon ein Leerzeichen einfügte.

Die letzte neue Saite sah wie folgt aus:

% USERPROFILE%\AppData\Local\Microsoft\WindowsApps; C:\xampp\php

  • Klicken Sie dann auf Ok
  • Geöffnet Eingabeaufforderung
  • Ging zum Pfad C:\xampp\htdocs\html_playground bei Eingabeaufforderung mit cd Befehl
  • Eingegeben in sample.php (Die Datei, die mein PHP Programm enthält)

Anstatt die Ausgabe des Programms anzuzeigen, wurde dieselbe Datei in Sublime Text geöffnet (der Editor, mit dem ich den Code schreibe)

Die sample.php Datei hat den folgenden PHP ausführbaren Code :

<?php 
   echo 'Hello World!';
?>

Als Referenz füge ich auch den Screenshot des Eingabeaufforderungsfensters bei:

 Command Prompt Window

Jetzt ist meine Frage

  • Warum kann ich die Ausgabe bei der Eingabeaufforderung oder in einem Webbrowser nicht sehen?
  • Mache ich einen Fehler oder was?
  • Muss der XAMPP-Server wie gewohnt gestartet werden, um das Programm in einem Webbrowser auszuführen, damit das Programm auch über die Eingabeaufforderung ausgeführt werden kann?
  • Habe ich Fehler beim Festlegen von Umgebungsvariablen gemacht?
  • Müssen wirklich Umgebungsvariablen gesetzt werden? Wenn ja warum Wenn nein warum?
  • Da PHP die geeignete Sprache für die Webentwicklung sein soll, denke ich, ist es immer gut, das Programm in der Software des Webentwicklers auszuführen, d. H. In einem Webbrowser. Aber ich verstehe nicht, warum die Leute darauf bestehen, die PHP -Programme über Befehlszeile auszuführen, anstatt dasselbe Programm nur über den Webbrowser auszuführen?

Bitte helfen Sie mir, indem Sie meine Fragen beantworten und mir helfen, das Programm über die Eingabeaufforderung auszuführen.

Sogar ich habe versucht, den PC neu zu starten und den Befehl php -v auszuführen, aber es hat auch nicht geklappt. Es folgt der Screenshot desselben:

 Command Prompt output after system restart

3
user2839497

Wenn Sie CLI PHP ausführen möchten, empfehle ich dringend, die Vanilla PHP zu installieren, die sich auf windows.php.net befindet. Lassen Sie es auf C:\php installieren. Der Grund, warum ich das empfehle, ist der, dass Sie, wenn Sie Composer verwenden möchten (und es eine wirklich gute Chance gibt), es nativ dort finden wird.

Jetzt können Sie eine Eingabeaufforderung öffnen und Skripts wie folgt ausführen

C:\php\php.exe C:\path\to\php\script.php

Zu Ihren Besonderheiten

  1. Why I'm not able to see the output at command Prompt or a web browser? Da die Ausgabe an die Befehlszeile gesendet wird. Browseranfragen werden über den Webserver an den Browser gesendet
  2. Is it necessary to start the XAMPP server like I normally do to run the program from command Prompt too? Für CLI-Anfragen, nein. PHP ist eine ausführbare Datei und kann eigenständig ausgeführt werden. Wenn Sie Browseranfragen durchführen möchten, muss XAMPP ausgeführt werden.
  3. Is there really a need to set environment variables? If yes why? If no why? Nicht wirklich. Die CLI wird nur auf php.ini achten, wobei XAMPP-Konfigurationen hauptsächlich für Apache gelten.
  4. But I'm not understanding the reason why people do insist for running the PHP programs from Command Line Der Hauptgrund sind automatisierte Aufgaben. Ich habe mehrere Prozesse bei der Arbeit, die ich auf einem Cron-Job ausführt. 
12
Machavity

Schrittweise Anleitung für variable Pfade in Windows 10


Update:

Fahren Sie mit Schritt 4 fort, indem Sie auf Linksklicken auf the Windows-Starttaste klicken und dann sofort system env eingeben. Die Windows-Suche schlägt Edit the system environment variables vor. Klicken Sie auf diese Schaltfläche und fahren Sie mit Schritt 4 fort.


  1. Klicken Sie mit der rechten Maustaste auf die Windows-Schaltfläche Start , wählen Sie System aus.

 Right Click Windows Start Button > System

  1. Klicken Sie auf Systeminformationen

 Click on System Information

  1. Klicken Sie auf Erweiterte Systemeinstellungen

 Click on Advanced System Settings

  1. Klicken Sie auf Umgebungsvariablen

 Click on Environment Variables

  1. Wählen SiePATHunter System Variables Überschrift und klicken Sie dann auf Edit .

 Under System Variables, Click on PATH then click Edit

  1. Klicken Sie auf Neu , und geben Sie Pfad für ausführbare Datei ein

 Click New, Add Path location to executable file

  1. Drücken SieOKund, UMauf allen zutreffenden Panels anzuwenden und dann Computer neu starten .

 enter image description here

9
Marc Newton

Schritt 1: Klicken Sie mit der rechten Maustaste auf das Computersymbol auf Ihrem Desktop und wählen Sie die Option Eigenschaften.

Schritt 2: Klicken Sie im Systemfenster im linken Bereich auf Erweiterte Systemeinstellungen

Schritt 3: Wählen Sie im Fenster Systemeigenschaften die Registerkarte Erweitert aus dem horizontalen Menü oben und klicken Sie auf die Schaltfläche Umgebungsvariablen unten im Fenster

Schritt 4: Rufen Sie im nächsten Fenster Umgebungsvariablen auf, gehen Sie zur Systemvariablen (zweites Gitter) und suchen Sie eine Variable namens Path und klicken Sie auf Bearbeiten. Wenn die Pfadvariable nicht vorhanden ist, klicken Sie auf Neu. 

Wenn du bearbeitest, dann füge ein Semikolon vor dem hinzugefügten Pfad zu separaten Variablen hinzu.

Schritt 5: Holen Sie sich den PHP-Pfad, unter dem Sie XAMPP installiert haben. Fügen Sie diesen Pfad zum Variablenwert in einem kleinen Dialogfeld hinzu.

Schritt 6: OK drücken und alle Fenster schließen.

Schritt 7: Öffnen Sie eine Eingabeaufforderung mit cmd.

Schritt 8: cd zu deinem_installationspfad/xampp/htdocs

Schritt 9: gib den Befehl 'php -i | Mehr'

Schritt 10: Es gibt keinen Schritt 10.

3
Bruce

Sie können php-Code in Ihrem Browser anzeigen, indem Sie das Flag -S verwenden:

php -S <Host/ip>:<port>

Erstellen Sie zum Testen eine sample.php-Datei, die Folgendes enthält:

<?php
echo "Hello World from built-in PHP server";
?>

und führen Sie den Befehl php -S localhost:8080 von der Befehlszeile aus (nicht http: //).

Dadurch wird ein Webserver gestartet, der Port 8080 überwacht und das aktuelle Verzeichnis verwendet, in dem Sie sich als Dokumentstammverzeichnis befinden.

Öffnen Sie den Browser und navigieren Sie zu http: // localhost: 8080 . Sie sollten Ihre 'Hello World' Seite sehen.

Hinweis: Ich gehe davon aus, dass Sie sich in dem Verzeichnis befinden, in dem sample.php vorhanden ist. Falls port:8080 bereits verwendet wird, können Sie einen beliebigen anderen Port wie 80, 8000 verwenden.

2
Asif Raza

Da Sie XAMPP installiert haben, können Sie PHP über das Shell - Fenster von XAMPP Control Panel v3.2.2 ausführen.

 enter image description here

In meinem Testfall verwende ich eine kleine Datei index.php im Verzeichnis c:\xampp\htdocs\tester. Der Inhalt von index.php lautet:

echo "This is output from command line "."\n";
if(!empty($argv)) {
foreach($argv as $key => $arg) {
if($key>0) {
echo "command line argument ".$key ." ". $arg."\n";
}
}
}

Geben Sie einfach Folgendes in Ihr Befehlszeilenfenster ein.

php C:\xampp\htdocs\tester\index.php var1=1 var2="lorem ipsum..."

Ausgabe

 enter image description here

1
Peter Darmis

Öffnen Sie eine Eingabeaufforderung im selben Verzeichnis wie php.exe und rufen Sie das Programm mit dem Argument der Datei auf, die Sie verarbeiten möchten.

C:\xampp\php\php.exe C:\xamp\htdocs\html_playground\test.php

Wenn test.php Folgendes enthielt: <?php echo "Hello World"; ?>, würde die Eingabeaufforderung 'Hello World' ausgeben und eine Standard-CMD-CLI-Benutzereingabe zurückgeben.

Der Grund, warum Ihr >php-Aufruf nicht funktioniert, ist höchstwahrscheinlich darauf zurückzuführen, dass Ihre Umgebungsvariable PATH nicht den korrekten Speicherort für PHP enthält. in den PATH-String. Dann sollten Sie php C:\xamp\htdocs\html_playground\test.php für dieselbe Ausgabe wie oben aufrufen können.

1
JokerDan