Sto cercando di costruire un sito PHP e voglio testare i miei file PHP senza caricarli sul mio host. Fondamentalmente testarli sul mio computer prima di caricarli. Come lo faccio?
Sto cercando di costruire un sito PHP e voglio testare i miei file PHP senza caricarli sul mio host. Fondamentalmente testarli sul mio computer prima di caricarli. Come lo faccio?
Risposte:
Installa ed esegui XAMPP: http://www.apachefriends.org/en/xampp.html
php -S localhost:8000
è una scelta più semplice, senza installare elementi aggiuntivi.
PHP 5.4 e versioni successive hanno un web server integrato in questi giorni.
È sufficiente eseguire il comando dal terminale:
cd path/to/your/app
php -S 127.0.0.1:8000
Quindi nel tuo browser vai http://127.0.0.1:8000
e boom, il tuo sistema dovrebbe essere attivo e funzionante. (Deve esserci un file index.php o index.html per farlo funzionare.)
È inoltre possibile aggiungere un semplice 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');
}
?>
E quindi esegui il comando
php -S 127.0.0.1:8000 router.php
Riferimenti:
The web server runs a only one single-threaded process, so PHP applications will stall if a request is blocked.
. Ciò può causare alcuni problemi di prestazioni.
Questo è un modo semplice e sicuro per eseguire localmente il tuo server php:
php -S 0.0.0.0:<PORT_NUMBER>
Dove PORT_NUMBER è un numero intero compreso tra 1024 e 49151
Esempio: php -S 0.0.0.0:8000
Appunti:
Se si utilizza localhost
piuttosto che 0.0.0.0
si può verificare un errore di connessione rifiutata.
Se si desidera rendere il server Web accessibile a qualsiasi interfaccia, utilizzare 0.0.0.0
.
Se una richiesta URI non specifica un file, vengono restituiti index.php o index.html nella directory specificata.
Dato il seguente file (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>";
}
?>
Esegui questo ...
php -S 0.0.0.0:8000 router.php
... e naviga nel tuo browser su http: // localhost: 8000 / e verrà visualizzato quanto segue:
Welcome to PHP
Riferimento:
Uso spesso il seguente comando per girare il mio framework PHP Laravel:
$ php artisan serve --port=8080
or
$ php -S localhost:8080 -t public/
Nel comando sopra: - Artisan è l'interfaccia della riga di comando inclusa in Laravel che usa serve per chiamare il server php integrato
Per eseguire con il server Web incorporato.
php -S <addr>:<port> -T
Qui,
-S: passa a Esegui con server Web incorporato.
-T: consente di specificare la radice del documento per il server Web incorporato.
Io uso WAMP . Una semplice procedura guidata di installazione, tonnellate di moduli per Apache e PHP preconfigurati e facili da accendere e spegnere per adattarsi alla configurazione remota.
Se desideri uno stack di sviluppo locale per tutti gli usi per qualsiasi sistema operativo in cui puoi scegliere tra diverse versioni di server PHP, MySQL e Web e non hai paura di usare Docker, potresti scegliere devilbox .
Devilbox è uno stack PHP dockerizzato moderno e altamente personalizzabile che supporta LAMP e MEAN completi e funziona su tutte le principali piattaforme. L'obiettivo principale è passare facilmente e combinare qualsiasi versione richiesta per lo sviluppo locale. Supporta un numero illimitato di progetti per i quali vhosts e record DNS vengono creati automaticamente. E-mail catch-all e strumenti di sviluppo popolari saranno anche al tuo servizio. La configurazione non è necessaria, poiché tutto è preimpostato con l'hosting virtuale di massa.
Metterlo in funzione è piuttosto semplice:
# 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
link:
MAMP se sei su un MAC MAMP
Se si utilizza Windows, lo stack del server WPN-XM potrebbe essere un'alternativa adatta.
Usa Apache Friends XAMPP . Configurerà il server HTTP Apache, PHP 5 e MySQL 5 (per quanto ne so, probabilmente ce n'è ancora di più). Non è necessario sapere come configurare apache (o alcuno dei moduli) per usarlo.
Avrai una directory htdocs che Apache servirà (accessibile da http: // localhost / ) e dovresti essere in grado di inserire lì i tuoi file PHP. Con la mia installazione, è su C: \ xampp \ htdocs.
Un'altra opzione è Zend Server Community Edition .
AppServ è un piccolo programma in Windows per eseguire:
Ti darà anche un pulsante di avvio e arresto per Apache. Che trovo molto utile.