J'essaie de créer un site PHP et je souhaite tester mes fichiers PHP sans les télécharger sur mon hôte. Essentiellement, les tester sur ma propre machine avant de les télécharger. Comment je fais ça?
J'essaie de créer un site PHP et je souhaite tester mes fichiers PHP sans les télécharger sur mon hôte. Essentiellement, les tester sur ma propre machine avant de les télécharger. Comment je fais ça?
Réponses:
Installez et exécutez XAMPP: http://www.apachefriends.org/en/xampp.html
php -S localhost:8000
est un choix plus facile, sans installer de choses supplémentaires.
PHP 5.4 et les versions ultérieures ont un serveur Web intégré de nos jours.
Vous exécutez simplement la commande depuis le terminal:
cd path/to/your/app
php -S 127.0.0.1:8000
Ensuite, dans votre navigateur, allez à http://127.0.0.1:8000
et boum, votre système devrait être opérationnel. (Il doit y avoir un fichier index.php ou index.html pour que cela fonctionne.)
Vous pouvez également ajouter un simple routeur
<?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');
}
?>
Et puis exécutez la commande
php -S 127.0.0.1:8000 router.php
Références:
The web server runs a only one single-threaded process, so PHP applications will stall if a request is blocked.
. Cela peut entraîner des problèmes de performances.
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
Remarques:
Si vous utilisez localhost
plutôt que 0.0.0.0
vous pouvez rencontrer une erreur de connexion refusée.
Si vous souhaitez rendre le serveur Web accessible à n'importe quelle interface, utilisez 0.0.0.0
.
Si une demande d'URI ne spécifie pas de fichier, alors index.php ou index.html dans le répertoire donné sont renvoyés.
Compte tenu du fichier suivant (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>";
}
?>
Lance ça ...
php -S 0.0.0.0:8000 router.php
... et naviguez dans votre navigateur vers http: // localhost: 8000 / et ce qui suit s'affichera:
Welcome to PHP
Référence:
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 servir pour appeler le serveur php intégré
Pour exécuter avec le serveur Web intégré.
php -S <addr>:<port> -T
Ici,
-S: Passez à Exécuter avec le serveur Web intégré.
-T: permet de spécifier la racine du document pour le serveur Web intégré.
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 distante.
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 PHP, MySQL et de serveur Web et que vous 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 prenant en charge LAMP et MEAN complets et fonctionnant sur toutes les principales plates-formes. L'objectif principal est de basculer et de combiner facilement toutes les versions nécessaires au développement local. Il prend en charge un nombre illimité de projets pour lesquels des hôtes virtuels et des enregistrements DNS sont créés automatiquement. Les e-mails fourre-tout et les outils de développement populaires seront également à votre service. La configuration n'est pas nécessaire, car tout est pré-configuré avec un hébergement virtuel de masse.
Le mettre en place et le faire fonctionner 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:
MAMP si vous êtes sur un MAC MAMP
Si vous utilisez Windows, la pile de serveurs WPN-XM peut être une alternative appropriée.
Utilisez Apache Friends XAMPP . Il mettra en place le serveur HTTP Apache, PHP 5 et MySQL 5 (pour autant que je sache, il y en a probablement plus). 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 vous devriez pouvoir y mettre vos fichiers PHP. Avec mon installation, c'est dans C: \ xampp \ htdocs.
Si vous avez une machine locale avec le bon logiciel: serveur Web avec prise en charge de 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 LAMP.
Une autre option est la Zend Server Community Edition .
AppServ est un petit programme sous Windows à exécuter:
Il vous donnera également un bouton de démarrage et d'arrêt pour Apache. Ce que je trouve très utile.