Serveur PHP sur la machine locale?
J'essaie de construire un site PHP et je veux tester mes fichiers PHP sans les télécharger sur mon hôte. Fondamentalement, les tester sur ma propre machine avant de les télécharger. Comment je fais cela ?
13 réponses
Installez et exécutez XAMPP: http://www.apachefriends.org/en/xampp.html
PHP 5.4 et plus tard ont un serveur web intégré ces jours-ci.
Vous exécutez simplement la commande depuis le terminal:
cd path/to/your/app
php -S localhost:8000
Ensuite, dans votre navigateur, allez à http://localhost:8000
et boom, votre système devrait être opérationnel. (Il doit y avoir un indice.php ou de l'index.fichier html pour que cela fonctionne.)
C'est un moyen simple et sûr d'exécuter votre serveur php localement:
php -S 0.0.0.0:<PORT_NUMBER>
Où PORT_NUMBER est un entier compris entre 1024 et 49151
Exemple: php -S 0.0.0.0:8000
Notes:
Si vous utilisez
localhost
plutôt que0.0.0.0
, vous pouvez frapper un erreur de connexion refusée.Si vous voulez rendre le serveur web accessible à n'importe quelle interface, utilisez
0.0.0.0
.Si une requête URI ne spécifie pas fichier, puis l'index.php ou de l'index.html dans le le répertoire des retourner.
Étant donné le fichier suivant (routeur.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>";
}
?>
Exécutez ceci ...
php -S 0.0.0.0:8000 router.php
... et naviguez dans votre navigateur jusqu'à http://localhost:8000/ et les éléments suivants seront affichés:
Welcome to PHP
Référence:
J'utilise WAMP. Un assistant d'installation facile, des tonnes de modules pour Apache et PHP préconfigurés et faciles à activer et à désactiver pour correspondre à votre configuration à distance.
Si vous voulez une pile de développement local polyvalente pour n'importe quel système d'exploitation où vous pouvez choisir parmi différentes versions de serveur PHP, MySQL et Web et n'avez pas peur d'utiliser Docker, vous pouvez opter pour la devilbox.
La devilbox est une pile PHP dockerisée moderne et hautement personnalisable supportant full LAMP et MEAN et fonctionnant sur toutes les principales plates-formes. L'objectif principal est de changer facilement et de combiner la version requise pour le développement local. Il prend en charge un nombre illimité de projets pour lesquels les vhosts et les enregistrements DNS sont créés automatiquement. Email fourre-tout et des outils de développement populaires seront à votre service ainsi. La Configuration n'est pas nécessaire, car tout est pré-configuré avec l'hébergement virtuel de masse.
Mettre en place et en cours d'exécution est assez simple:
# 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
Liens:
- Github: https://github.com/cytopia/devilbox
- Site Web: http://devilbox.org
Utilisez amis Apache XAMPP . Il va configurer le serveur HTTP Apache, PHP 5 et MySQL 5 (pour autant que je sache, il y en a probablement plus que cela). Vous n'avez pas besoin de savoir comment configurer apache (ou l'un des modules) pour l'utiliser.
Vous aurez un répertoire htdocs qu'Apache servira (accessible par http://localhost/) et devrait pouvoir y mettre vos fichiers PHP. Avec mon installation, c'est à C:\xampp\htdocs.
Si vous avez une machine locale avec le bon logiciel: serveur web avec support pour PHP, il n'y a aucune raison pour que vous ne puissiez pas faire ce que vous décrivez.
Je le fais en ce moment avec XAMPP sur une machine Windows XP, et (à la maison) avec Kubuntu et une pile de lampe.
Si vous utilisez Windows, la pile de Serveur WPN-XM peut être une alternative appropriée.
AppServ est un petit programme dans Windows pour exécuter:
- Apache
- PHP
- MySQL
- phpMyAdmin
Il vous donnera également un bouton de démarrage et d'arrêt pour Apache. Ce que je trouve très utile.
J'utilise souvent la commande suivante pour faire tourner mon framework PHP Laravel:
$ php artisan serve --port=8080
or
$ php -S localhost:8080 -t public/
Dans la commande ci-dessus : - Artisan est une interface de ligne de commande incluse avec Laravel qui utilise serve pour appeler le serveur php intégré
Pour fonctionner avec le serveur web intégré.
php -S <addr>:<port> -T
Ici
- S: commutateur pour exécuter avec le serveur web intégré.
- T: Commutateur pour spécifier la racine du document pour le serveur web intégré.