Ich versuche eine PHP-Site zu erstellen und möchte meine PHP-Dateien testen, ohne sie auf meinen Host hochzuladen. Grundsätzlich testen Sie sie auf meinem eigenen Computer, bevor ich sie hochlade. Wie mache ich das?
Ich versuche eine PHP-Site zu erstellen und möchte meine PHP-Dateien testen, ohne sie auf meinen Host hochzuladen. Grundsätzlich testen Sie sie auf meinem eigenen Computer, bevor ich sie hochlade. Wie mache ich das?
Antworten:
Installieren Sie XAMPP und führen Sie es aus: http://www.apachefriends.org/en/xampp.html
php -S localhost:8000
ist einfacher, ohne zusätzliche Dinge zu installieren.
PHP 5.4 und höher verfügen heutzutage über einen integrierten Webserver .
Sie führen den Befehl einfach vom Terminal aus:
cd path/to/your/app
php -S 127.0.0.1:8000
Gehen Sie dann in Ihrem Browser zu http://127.0.0.1:8000
und boomen Sie, Ihr System sollte betriebsbereit sein. (Damit dies funktioniert, muss eine Datei index.php oder index.html vorhanden sein.)
Sie können auch einen einfachen Router hinzufügen
<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
require_once('resolver.php');
}
?>
Führen Sie dann den Befehl aus
php -S 127.0.0.1:8000 router.php
Verweise:
The web server runs a only one single-threaded process, so PHP applications will stall if a request is blocked.
. Dies kann zu Leistungsproblemen führen.
Dies ist eine einfache und sichere Möglichkeit, Ihren PHP-Server lokal auszuführen:
php -S 0.0.0.0:<PORT_NUMBER>
Wobei PORT_NUMBER eine Ganzzahl von 1024 bis 49151 ist
Beispiel: php -S 0.0.0.0:8000
Anmerkungen:
Wenn Sie localhost
eher als 0.0.0.0
ein Verbindungsfehler verweigert treffen kann.
Wenn Sie den Webserver für eine beliebige Schnittstelle zugänglich machen möchten, verwenden Sie 0.0.0.0
.
Wenn eine URI-Anforderung keine Datei angibt, werden entweder index.php oder index.html im angegebenen Verzeichnis zurückgegeben.
Angesichts der folgenden Datei (router.php)
<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
echo "<p>Welcome to PHP</p>";
}
?>
Führen Sie diese ...
php -S 0.0.0.0:8000 router.php
... und navigieren Sie in Ihrem Browser zu http: // localhost: 8000 / und Folgendes wird angezeigt:
Welcome to PHP
Referenz:
Ich benutze oft den folgenden Befehl, um mein PHP Laravel Framework zu drehen:
$ php artisan serve --port=8080
or
$ php -S localhost:8080 -t public/
Im obigen Befehl: - Artisan ist eine in Laravel enthaltene Befehlszeilenschnittstelle, die dazu dient , den eingebauten PHP-Server aufzurufen
Mit integriertem Webserver ausführen.
php -S <addr>:<port> -T
Hier
-S: Wechseln Sie zu Run mit integriertem Webserver.
-T: Wechseln Sie zur Angabe des Dokumentstamms für den integrierten Webserver.
Ich benutze WAMP . Ein einfacher Installationsassistent, unzählige Module für Apache und PHP vorkonfiguriert und einfach ein- und auszuschalten, um Ihrer Remote-Konfiguration zu entsprechen.
Wenn Sie einen lokalen Allzweck-Entwicklungsstapel für jedes Betriebssystem wünschen, bei dem Sie zwischen verschiedenen PHP-, MySQL- und Webserverversionen wählen können und auch keine Angst vor der Verwendung von Docker haben, können Sie sich für die Devilbox entscheiden .
Die Devilbox ist ein moderner und hochgradig anpassbarer dockerisierter PHP-Stack, der vollständige LAMP und MEAN unterstützt und auf allen wichtigen Plattformen ausgeführt wird. Das Hauptziel besteht darin, alle für die lokale Entwicklung erforderlichen Versionen einfach zu wechseln und zu kombinieren. Es unterstützt eine unbegrenzte Anzahl von Projekten, für die vhosts und DNS-Einträge automatisch erstellt werden. E-Mail-Catch-All und beliebte Entwicklungstools stehen Ihnen ebenfalls zur Verfügung. Eine Konfiguration ist nicht erforderlich, da alles mit virtuellem Massenhosting vorinstalliert ist.
Die Inbetriebnahme ist ziemlich einfach:
# Get the devilbox
$ git clone https://github.com/cytopia/devilbox
$ cd devilbox
# Create docker-compose environment file
$ cp env-example .env
# Edit your configuration
$ vim .env
# Start all containers
$ docker-compose up
Links:
Installieren Sie XAMPP . Wenn Sie MS Windows ausführen, ist WAMP ebenfalls eine Option.
MAMP, wenn Sie sich auf einem MAC MAMP befinden
Wenn Sie Windows verwenden, ist der WPN-XM-Serverstapel möglicherweise eine geeignete Alternative.
Verwenden Sie Apache Friends XAMPP . Es wird Apache HTTP Server, PHP 5 und MySQL 5 einrichten (soweit ich weiß, gibt es wahrscheinlich noch mehr). Sie müssen nicht wissen, wie Sie Apache (oder eines der Module) für die Verwendung konfigurieren.
Sie haben ein htdocs-Verzeichnis, das Apache bedient (zugänglich über http: // localhost / ) und in der Lage sein sollte, Ihre PHP-Dateien dort abzulegen . Bei meiner Installation befindet es sich unter C: \ xampp \ htdocs.
Wenn Sie einen lokalen Computer mit der richtigen Software haben: einen Webserver mit Unterstützung für PHP, gibt es keinen Grund, warum Sie nicht das tun können, was Sie beschreiben.
Ich mache es im Moment mit XAMPP auf einem Windows XP-Computer und (zu Hause) mit Kubuntu und einem LAMP-Stack.
Eine weitere Option ist die Zend Server Community Edition .
AppServ ist ein kleines Programm, das unter Windows ausgeführt werden kann:
Außerdem erhalten Sie eine Start- und Stoppschaltfläche für Apache. Was ich sehr nützlich finde.