Exécuter des scripts PHP dans Node.js : tirer parti de la ligne de commande
Les développeurs sont souvent confrontés à la nécessité d'exécuter des scripts PHP dans des environnements Node.js , un scénario généralement rencontré dans les configurations de serveur Web. Bien que l'exécution de scripts PHP dans Node.js ne soit pas recommandée, il existe des approches alternatives pour obtenir cette fonctionnalité.
Approche 1 : Exécution de scripts PHP via l'interface de ligne de commande (CLI)
Node.js fournit un moyen d'invoquer des commandes externes via le module child_process. En utilisant cette approche, vous pouvez exécuter des scripts PHP en appelant l'interpréteur PHP en tant que processus enfant. Considérez le code Node.js suivant :
const exec = require("child_process").exec; const app = express(); app.get('/', (req, res) => { exec("php index.php", (error, stdout, stderr) => { res.send(stdout); }); });
Cet extrait de code démontre l'exécution du script PHP index.php et le renvoi de sa sortie au serveur Web Node.js.
Approche 2 : relayer les scripts PHP vers un serveur Web externe
Une approche alternative consiste à relayer les scripts PHP vers un serveur Web externe, tel qu'Apache, configuré pour les exécuter. Pour y parvenir, vous pouvez utiliser Node.js pour transmettre la requête par proxy au serveur externe, puis recevoir la réponse. Considérez le code Node.js suivant :
const exec = require("child_process").exec; const app = express(); app.get('/', (req, res) => { exec("wget -q -O - http://localhost/", (error, stdout, stderr) => { res.send(stdout); }); });
Cet extrait de code montre le relais de la demande vers l'hôte local à l'URL / et le renvoi de la réponse au serveur Web Node.js. Notez que cette approche nécessite que le serveur Web externe soit correctement configuré pour exécuter des scripts PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!