Aller au contenu
Foxipa

Outil

Compilateur PHP en ligne

Écrivez du PHP, appuyez sur Exécuter et voyez la sortie instantanément — du vrai PHP 8 qui tourne dans votre navigateur via WebAssembly, avec PHP 8.0 à 8.5, la lecture de l'entrée standard et du code partageable. Sans installation, sans compte.

Prêt à exécuter
Sortie

Sortie

La sortie du programme apparaîtra ici quand vous appuierez sur Exécuter.

Entrée du programme (stdin)

Écrivez du PHP dans l’éditeur ci-dessus, appuyez sur Exécuter et lisez la sortie en dessous. En coulisses, c’est un vrai interpréteur PHP compilé en WebAssembly qui tourne sur votre machine — pas un émulateur, pas une simulation, et pas un serveur qui recevrait votre code. La première exécution télécharge le moteur (environ 10 Mo) ; ensuite il reste en cache et chaque exécution démarre instantanément.

Comment exécuter du PHP ici

Le flux est volontairement minimal. Tapez ou collez votre programme — balises <?php comprises, exactement comme dans un fichier .php — puis appuyez sur Exécuter ou Ctrl/Cmd + Entrée. La sortie produite par echo et printf apparaît dans le panneau de sortie, et les diagnostics PHP — avertissements, notices et traces d’erreurs fatales avec numéros de ligne — s’affichent là où ils se sont produits. Le code qui mélange HTML et PHP se comporte comme attendu : tout ce qui est hors des balises <?php ?> est affiché tel quel.

Si un programme tourne plus longtemps que prévu, appuyez sur Arrêter. L’arrêt supprime l’interpréteur courant — la prochaine exécution en construit un neuf, ce qui explique aussi pourquoi un programme planté ne peut jamais contaminer le suivant. En réalité, chaque exécution démarre déjà sur un interpréteur propre : les variables, fonctions et classes de l’exécution précédente ne fuient jamais dans la suivante, donc relancer deux fois le même script se comporte exactement comme un chargement de page neuf.

Lire l’entrée avec fgets(STDIN)

Les constantes STDIN, STDOUT et STDERR sont définies pour vous, donc les classiques pilotés par l’entrée standard fonctionnent sans modification. Ouvrez Entrée du programme (stdin) sous le panneau de sortie et mettez une ligne par lecture. L’exemple Lire l’entrée avec Alex et 3 dans la boîte produit un vrai dialogue :

What is your name? Alex
How many years have you coded? 3

Nice to meet you, Alex!
In another 3 years you will have coded for 6 years.

Quand la boîte d’entrée est épuisée, les lectures suivantes renvoient une chaîne vide — le même comportement que l’envoi d’un fichier trop court dans php en ligne de commande, pratique pour les formats d’exercices classiques sans faire semblant de taper dans une console figée.

Quel PHP exactement ?

Le moteur est php-wasm — PHP compilé en WebAssembly — et le sélecteur Version de la barre d’outils propose de vraies builds de PHP 8.0 à 8.5. Changer de version charge la build correspondante, et le badge de la barre d’état affiche la version exacte une fois le moteur prêt. La sémantique du langage est celle que vous connaissez : même syntaxe, même bibliothèque standard, même tout, seuls les angles liés au système de fichiers et à l’OS étant adaptés au bac à sable du navigateur.

Les limites honnêtes : le web ne fait pas partie du modèle. Il n’y a pas de serveur web, donc $_GET et $_SESSION se comportent comme des données de requête vides, et les extensions dépendant de bibliothèques natives ne sont pas compilées. Pour tout le reste — s’entraîner aux tableaux et aux chaînes, tester une petite conception de classe, essayer les enums et les propriétés readonly de PHP 8, vérifier un foreach — il se comporte comme le PHP que vous connaissez.

Votre code reste sur votre appareil

Le programme que vous écrivez est exécuté par votre propre navigateur et enregistré uniquement dans le stockage local : fermez l’onglet, revenez plus tard, votre dernière version est restaurée. Le bouton partage emballe le code courant (avec l’entrée et la version PHP) dans le lien lui-même — le fragment d’URL n’est jamais envoyé à un serveur. Importer ouvre un fichier .php directement dans l’éditeur, Télécharger enregistre le code courant en main.php, et Copier le met dans le presse-papiers. Aucun compte, aucun historique de notre côté, rien à supprimer ensuite.

Questions fréquentes

Peut-on exécuter PHP 8 ici ? Oui — choisissez n’importe quelle version de 8.0 à 8.5 dans la barre d’outils. Le badge affiche la révision exacte, par exemple PHP 8.4.1.

Faut-il la balise <?php ? La convention l’exige, et les numéros de ligne des erreurs restent exacts avec elle. Si vous l’oubliez complètement, l’exécuteur l’ajoute pour vous.

Mon code est-il envoyé quelque part ? Non. L’exécution se fait dans votre navigateur via WebAssembly. Le code est enregistré localement et partagé uniquement via des liens que vous créez vous-même.

Ça marche hors ligne ? Après le chargement du moteur, vous pouvez vous déconnecter et continuer à exécuter du code. Un chargement de page frais a besoin du réseau une fois pour récupérer le moteur.

Sur téléphone ? Oui. L’éditeur, la boîte d’entrée et la sortie s’empilent verticalement sur petits écrans, et la console suit la taille de police de votre système.