Ankündigung

Einklappen
Keine Ankündigung bisher.

php + node-js

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • php + node-js

    Hallo Community. Erstmal vorweg: ich bin was php angeht nahezu komplett grün hinter den Ohren.

    Ich habe eine fertige Node-Js Anwendung und dort möchte ich nun mithilfe von PHP die HTML-Fragmente bisschen auslagern usw. um die Lesbarkeit des Codes zu verbessern. In der Theorie kein problem, aber in der Praxis scheiter ich an der technischen Frage: "Wie integriere ich einen php-server in meinen Node-js server?"

    Momentan erzeuge ich meinen Server mit:

    Code:
    var server = app.listen(3000, function () {
    var host = server.address().address;
    var port = server.address().port;
    console.log('Example app listening at http://%s:%s', host, port);
    });
    ...und starte die Andwendung über die Konsole mit "node app.js". Dann kann ich auf localhost:3000 testen.

    Nun genügt das aber nicht aus um auch die php-inhalte interpretieren zu können. Ich habe etwas gegoogled und bin lediglich auf das hier gestoßen:

    https://www.npmjs.com/package/node-php-server

    Leider ist die Erklärung nahezu nicht vorhanden und der Code alleine funktioniert nicht.

    Könnt ihr mir eine möglichst einfache Alternative aufzeigen wie ich mein Vorhaben umsetzen kann?

    MfG Mahlzeit123, vielen Dank im Vorraus

  • #2
    PHP bzw. genauer der PHP-Interpreter ist eine Anwendung und kein Server.

    Was genau meinst du mit "PHP-Inhalte interpretieren"?

    Kommentar


    • #3
      Wenn ich ein HTML-Dokument schreibe, dann kann das der Browser direkt lesen. Bei PHP funktioniert das nicht. Hier muss ich erst über xxamp einen Apache-Server starten. Nun habe ich eine Umgebung die PHP lesen kann und kann über localhost die Seite testen. Nun aber wie bringe ich diese Funktionalität in meine Node-JS Anwendung. Die läuft ja nicht auf dem Apacheserver, sondern stellt praktisch einen eigenen Server da. Wie integriere ich das eine in das andere?

      Kommentar


      • #4
        Zitat von Mahlzeit123 Beitrag anzeigen
        Wenn ich ein HTML-Dokument schreibe, dann kann das der Browser direkt lesen. Bei PHP funktioniert das nicht. Hier muss ich erst über xxamp einen Apache-Server starten. Nun habe ich eine Umgebung die PHP lesen kann und kann über localhost die Seite testen. Nun aber wie bringe ich diese Funktionalität in meine Node-JS Anwendung. Die läuft ja nicht auf dem Apacheserver, sondern stellt praktisch einen eigenen Server da. Wie integriere ich das eine in das andere?
        Das kommt stark auf die PHP-Anwendung an. Wenn sie CLI-fähig ist, würde ich sie einfach per Command ausführen. Wenn nicht, musst du wohl einen Webserver mit PHP betreiben und diesen per HTTP ansprechen.

        Kommentar


        • #5
          Es gibt keine wirkliche "PHP-Anwendung". Die komplette Anwendung ist in Javascript geschrieben und läuft über Node-JS. Lediglich um die Inhalte der Webseite darzustellen benutze ich PHP-Dateien (index.php z.B.). Dort wird aber auch nicht mehr in PHP gemacht als einzelne Elemente aus anderen PHP-Dateien einzufügen. Also ich habe unter anderem das Topmenü als extra PHP-Datei ausgelagert, damit ich den Code nicht auf jeder HTML-Seite wieder schreiben muss. Wenn ich nun meine Anwendung mit "node app.js" über die Konsole starte, dann wird das PHP aber nicht interpretiert. Wenn ich die komplette Anwendung in meinen xxamp-Ordner schiebe, Apache starte und sie dann ansteuer, funktioniert PHP, aber nicht die Node-Js Funktionalitäten. Ich habe einen Webserver, der sowohl Node-JS als auch PHP unterstützt gemietet, aber ehrlich gesagt noch garnicht versucht hochzuladen. Habe ich denn hier lokal keine Möglichkeiten um die gewünschten Funktionalitäten zu testen?

          Kommentar


          • #6
            IMHO, lass das PHP weg. Du versuchst gerade die Arbeit auf zwei unterschiedliche Server aufzuteilen. Dazu ist weder Node.js noch Apache/PHP gedacht. Warum nicht einfach eine Template-Sprache nehmen, die Node.js (via Middleware) interpretieren kann? Zumal es sich um ein simples Include handelt (was man vielleicht sogar mit reinem JS bewerkstelligen könnte).

            Kommentar

            Lädt...
            X