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?
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:8000et 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.phpif(preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])){returnfalse;// serve the requested resource as-is.}else{
require_once('resolver.php');}?>
Au cas où quelqu'un se demanderait, le -S et une référence à d'autres commandes peuvent être trouvés sur le lien ci-dessous. En particulier, -S signifie «Exécuter avec un serveur Web intégré». php.net/manual/en/features.commandline.options.php
calipoop
mais qu'en est-il des bases de données dans lesquelles il devrait être stocké!
Yousef Altaf
1
@YousefAltaf l'OP ne spécifie pas la météo ou non ils voulaient qu'une base de données soit utilisée. Ils ont demandé un serveur PHP et c'est simplement un serveur PHP. Si vous souhaitez exécuter un serveur MYSQL ou un serveur PostGres, ce serait une autre question et vous pouvez configurer votre application PHP pour utiliser ledit serveur. Aussi à des fins de développement rapide, une base de données SQLITE devrait faire l'affaire.
GardenRouteGold
1
PHP intégré dans le serveur Web ne prend pas en charge la demande parallèle: 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.
vikyd
1
@vikyd ce n'est pas pour un développement d'applications à part entière, c'est juste un moyen rapide de tester / déboguer les fonctionnalités ou le code IMHO.
GardenRouteGold
39
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 localhostplutôt que 0.0.0.0vous 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.phpif(preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])){returnfalse;// serve the requested resource as-is.}else{
echo "<p>Welcome to PHP</p>";}?>
Merci pour le conseil concernant 0.0.0.0, quelle solution magique c'était - devrait être incorporé dans la réponse acceptée ou quelque chose comme ça ...
calipoop
14
J'utilise souvent la commande suivante pour faire tourner mon framework PHP Laravel:
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
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.
Réponses:
Installez et exécutez XAMPP: http://www.apachefriends.org/en/xampp.html
la source
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:
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
Et puis exécutez la commande
Références:
la source
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:
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 que0.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)
Lance ça ...
... et naviguez dans votre navigateur vers http: // localhost: 8000 / et ce qui suit s'affichera:
Référence:
Serveur Web intégré
la source
J'utilise souvent la commande suivante pour faire tourner mon framework PHP Laravel:
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é.
la source
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.
la source
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 .
Le mettre en place et le faire fonctionner est assez simple:
Liens:
la source
Installez XAMPP . Si vous utilisez MS Windows, WAMP est également une option.
la source
MAMP si vous êtes sur un MAC MAMP
la source
Si vous utilisez Windows, la pile de serveurs WPN-XM peut être une alternative appropriée.
la source
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.
la source
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.
la source
Une autre option est la Zend Server Community Edition .
la source
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.
la source