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:8000jest ł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:8000i 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 localhostzamiast 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.