Próbuję zbudować witrynę PHP i chcę przetestować moje pliki PHP bez przesyłania ich do hosta. Zasadniczo testuję je na własnym komputerze przed ich załadowaniem. W jaki sposób mogę to zrobić?
Próbuję zbudować witrynę PHP i chcę przetestować moje pliki PHP bez przesyłania ich do hosta. Zasadniczo testuję je na własnym komputerze przed ich załadowaniem. W jaki sposób mogę to zrobić?
Odpowiedzi:
Zainstaluj i uruchom XAMPP: http://www.apachefriends.org/en/xampp.html
php -S localhost:8000
jest łatwiejszym wyborem, bez instalowania dodatkowych rzeczy.
PHP 5.4 i nowsze mają obecnie wbudowany serwer WWW .
Po prostu uruchamiasz polecenie z terminala:
cd path/to/your/app
php -S 127.0.0.1:8000
Następnie w przeglądarce przejdź do http://127.0.0.1:8000
i bum, twój system powinien być uruchomiony. (Aby to zadziałało, musi istnieć plik index.php lub index.html).
Możesz także dodać prosty router
<?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');
}
?>
A następnie uruchom polecenie
php -S 127.0.0.1:8000 router.php
Bibliografia:
The web server runs a only one single-threaded process, so PHP applications will stall if a request is blocked.
. Może to spowodować problemy z wydajnością.
To prosty, pewny sposób na lokalne uruchomienie serwera php:
php -S 0.0.0.0:<PORT_NUMBER>
Gdzie PORT_NUMBER to liczba całkowita od 1024 do 49151
Przykład: php -S 0.0.0.0:8000
Uwagi:
Jeśli używasz localhost
zamiast 0.0.0.0
, możesz trafić na błąd odrzucenia połączenia.
Jeśli chcesz, aby serwer WWW był dostępny dla dowolnego interfejsu, użyj 0.0.0.0
.
Jeśli żądanie URI nie określa pliku, zwracany jest plik index.php lub index.html w podanym katalogu.
Biorąc pod uwagę następujący plik (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>";
}
?>
Uruchom to ...
php -S 0.0.0.0:8000 router.php
... i przejdź w przeglądarce do http: // localhost: 8000 /, a zostanie wyświetlony następujący komunikat:
Welcome to PHP
Odniesienie:
Często używam następującego polecenia, aby uruchomić mój framework PHP Laravel:
$ php artisan serve --port=8080
or
$ php -S localhost:8080 -t public/
W powyższym poleceniu: - Artisan to interfejs wiersza poleceń zawarty w Laravel, który służy do wywoływania wbudowanego serwera php
Działa z wbudowanym serwerem WWW.
php -S <addr>:<port> -T
Tutaj,
-S: Przełącz na uruchomienie z wbudowanym serwerem internetowym.
-T: Przełącz, aby określić katalog główny dla wbudowanego serwera WWW.
Używam WAMP . Jeden łatwy kreator instalacji, mnóstwo modułów wstępnie skonfigurowanych dla Apache i PHP oraz łatwe do włączania i wyłączania w celu dopasowania do zdalnej konfiguracji.
Jeśli chcesz uniwersalnego lokalnego stosu programistycznego dla dowolnego systemu operacyjnego, w którym możesz wybierać spośród różnych wersji PHP, MySQL i serwera WWW, a także nie boisz się używania Dockera, możesz wybrać devilbox .
Devilbox to nowoczesny i wysoce konfigurowalny dockerized stos PHP obsługujący pełne LAMP i MEAN i działający na wszystkich głównych platformach. Głównym celem jest łatwe przełączanie i łączenie dowolnej wersji wymaganej do lokalnego rozwoju. Obsługuje nieograniczoną liczbę projektów, dla których vhosty i rekordy DNS są tworzone automatycznie. E-maile do przechwytywania i popularne narzędzia programistyczne również będą do Twojej dyspozycji. Konfiguracja nie jest konieczna, ponieważ wszystko jest wstępnie skonfigurowane z masowym wirtualnym hostingiem.
Uruchomienie i uruchomienie jest dość proste:
# 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
Spinki do mankietów:
MAMP, jeśli korzystasz z MAC MAMP
Jeśli korzystasz z systemu Windows, odpowiednią alternatywą może być WPN-XM Server Stack .
Użyj Apache Friends XAMPP . Ustawi serwer Apache HTTP, PHP 5 i MySQL 5 (o ile wiem, prawdopodobnie jest ich więcej). Nie musisz wiedzieć, jak skonfigurować apache (lub którykolwiek z modułów), aby go używać.
Będziesz mieć katalog htdocs, który będzie obsługiwał Apache (dostępny przez http: // localhost / ) i powinieneś być w stanie umieścić tam swoje pliki PHP. W przypadku mojej instalacji jest to C: \ xampp \ htdocs.
Inną opcją jest Zend Server Community Edition .
AppServ to mały program w systemie Windows do uruchomienia:
Zapewni także przycisk uruchamiania i zatrzymywania Apache. Co uważam za bardzo przydatne.