Führen Sie PHP-Skripte innerhalb des Node.js-Webservers aus

Lesezeit: 3 Minuten

Fuhren Sie PHP Skripte innerhalb des Nodejs Webservers aus
Daniel

Welche Schritte sind notwendig, damit ein Node.js-Webserver wie Apache PHP-Skripte ausführt? Gibt es eine Möglichkeit, PHP in Node.js zu integrieren?

Hinweis: Ich möchte PHP-Skripte nicht direkt in Node.js ausführen, sondern über eine Apache-Instanz oder ähnliches „routen“.

Ich hatte die gleiche Frage. Ich habe versucht, PHP über die Shell-Schnittstelle aufzurufen, und es hat das gewünschte Ergebnis geliefert:

var exec = require("child_process").exec;
app.get("https://stackoverflow.com/", function(req, res){exec("php index.php", function (error, stdout, stderr) {res.send(stdout);});});

Ich bin mir sicher, dass dies nicht ganz oben auf der Liste der empfohlenen Praktiken steht, aber es schien zu tun, was ich wollte. Wenn Sie hingegen PHP-Skripte nicht direkt von Node.js ausführen, sondern von einem anderen Webserver aus weiterleiten möchten, der dies tut, scheint dies zu funktionieren:

var exec = require("child_process").exec;
app.get("https://stackoverflow.com/", function(req, res){exec("wget -q -O - http://localhost/", function (error, stdout, stderr) {res.send(stdout);});});

  • Wie übergebe ich den Parameter von Node JS an das Php-Skript?

    – Visal-Sambo

    2. April 2019 um 4:03 Uhr

  • exec(“php index.php ‘param1’ ‘param2′”)

    – Vivek Kapoor

    4. Juni 2020 um 0:18 Uhr

Node.js unterstützt nur JavaScript. Hier ist ein Tutorial, wie man PHP nebenbei mit Node.js laufen lässt.

http://blog.mixu.net/2011/01/04/nginx-php-fpm-and-node-js-install-on-centos-5-5/

  • Ich habe nicht einmal daran gedacht, PHP-Skripte direkt über Node.js auszuführen;) Der von Ihnen gepostete Link weist jedoch in die richtige Richtung.

    – Daniel

    30. Juni 2011 um 23:31 Uhr


Schau mal hier: https://github.com/davidcoallier/node-php

Von ihr lies mich:

Inline-PHP-Server, der auf Node.js ausgeführt wird

Sei besorgt, sei sehr besorgt. Der Name KnotenPHP hat seinen Namen von der Tatsache, dass wir einen netten Node.js-Server effektiv in eine FastCGI-Schnittstelle verwandeln, die mit PHP-FPM interagiert.

Dies ist ein Omega-Alpha-Super-Beta-Proof-of-Concept, aber es führt bereits einige einfache Skripte aus. Meistens für meine Gespräche gemacht Node.js für PHP-Entwickler Dies stellt sich als ein ziemlich interessantes Projekt heraus, das wir höchstwahrscheinlich verwenden werden Orchester
wenn wir uns entscheiden, unsere zu veröffentlichen
Inline-PHP-Server das es Benutzern ermöglicht, PHP ohne Apache, Nginx oder einen anderen Webserver auszuführen.

Ja, das widerspricht allen Ideen und Konzepten von Node.js, aber die Idee ist, einen Webserver direkt aus jedem Arbeitsverzeichnis erstellen zu können, damit Entwickler noch schneller als zuvor loslegen können. Sie müssen keine vhosts oder Serverblöcke mehr erstellen oder Ihre /etc/hosts ändern.

  • Das node-php auf npm ist ein ganz anderes Projekt: github.com/mkschreder/node-phpwas bei mir super funktioniert.

    – Bryan Larsen

    14. April 2015 um 18:59 Uhr

Fuhren Sie PHP Skripte innerhalb des Nodejs Webservers aus
Simon Rigét

Sie können PHP wie bei jedem Webserver ausführen, indem Sie das SPHP-Modul für Knoten verwenden.
Es ist kompatibel, aber nicht von Express abhängig.
Es unterstützt auch Websockets-Anfragen am HTTP-Port.
Es ist eher auf Geschwindigkeit bei geringer Last ausgerichtet als auf Ressourcenschonung.

In Knoten installieren:

npm install sphp

in deiner App:

var express = require('express');
var sphp = require('sphp');

var app = express();
var server = app.listen(8080);

app.use(sphp.express('public/'));
app.use(express.static('public/'));

Weitere Informationen finden Sie unter https://github.com/paragi/sphp

Ich bin auch etwas voreingenommen, weil ich der Autor bin 🙂

1647262447 107 Fuhren Sie PHP Skripte innerhalb des Nodejs Webservers aus
Andrej Sidorow

Sie können versuchen, den direkten Link-Knoten -> fastcgi -> php zu implementieren. In der vorherigen Antwort bedient nginx PHP-Anfragen unter Verwendung von http->fastcgi serialisation->unix socket->php und node-Anfragen als http->nginx reverse proxy->node http server.

Es scheint, dass node-fastcgi paser ist im Moment nutzbar, aber nur als Knoten-Fastcgi-Backend. Sie müssen es übernehmen, um es als Fastcgi-Client für den PHP-Fastcgi-Server zu verwenden.

Fuhren Sie PHP Skripte innerhalb des Nodejs Webservers aus
Mick

Ein einfacher, schneller Ansatz wäre meiner meinung nach zu gebrauchen dnode-php dafür.

Sie können eine kurze Einführung sehen Hier. Einfach, schnell und einfach!

Wenn sich php im FPM-Modus befindet, könnte node-phpfpm eine Option sein, überprüfen Sie die Dokumentation https://www.npmjs.com/package/node-ppfpm

1001610cookie-checkFühren Sie PHP-Skripte innerhalb des Node.js-Webservers aus

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy