Führen Sie eine PHP-App mit Tomcat aus?

Lesezeit: 5 Minuten

Fuhren Sie eine PHP App mit Tomcat aus
GBa

Ist es möglich, eine PHP-App mit Tomcat auszuführen?

Bevor Sie mir sagen, dass ich nur httpd verwenden soll, habe ich bereits eine Java-Anwendung auf meinem Webserver unter ausgeführt host/myapp. Jetzt möchte ich RoundCube auf host/roundcube installieren.

Einer ist PHP und einer ist Java. Ich sehe immer wieder beiläufige Referenzen, die besagen, dass dies möglich ist, aber keine wirklichen Anweisungen. Ich möchte sie nicht auf separate Ports legen, ich brauche die Standard-HTTP- und HTTPS-Ports.

Hat jemand Ressourcen dafür?

Fuhren Sie eine PHP App mit Tomcat aus
Saunik Singh

Ja, es ist möglich Will Den. Wir können PHP-Code auf dem Tomcat-Server ausführen, indem wir seine eigene Portnummer localhost:8080 verwenden

Hier schreibe ich einen Schritt, der für Sie so nützlich ist.

So installieren oder führen Sie PHP auf Tomcat 6 in Windows aus

  1. Laden Sie PHP 5 herunter und entpacken Sie es in ein Verzeichnis. c:\php-5.2.6-Win32php-5.2.9-2-Win32.zip herunterladen

  2. herunterladen PECL 5.2.5 Win32 Binärdateien – PECL 5.2.5 Win32 herunterladen

  3. umbenennen php.ini-dist zu php.ini in c:\php-5.2.6-Win32

  4. Kommentieren Sie die Zeile aus oder fügen Sie sie hinzu (entfernen Sie das Semikolon am Anfang). php.ini:
    ;extension=php_java.dll

  5. Kopieren php5servlet.dll von PECL 5.2.5 bis c:\php-5.2.6-Win32

  6. Kopieren php_java.dll von PECL 5.2.5 zu c:\php-5.2.6-Win32\ext

  7. Kopieren php_java.jar von PECL 5.2.5 zu tomcat\lib

  8. Erstellen Sie ein Verzeichnis mit dem Namen "php" (oder was auch immer du magst) in tomcat\webapps Verzeichnis

  9. Kopieren phpsrvlt.jar von PECL 5.2.5 zu tomcat\webapps\php\WEB-INF\lib

  10. Entpacken oder entpacken phpsrvlt.jar Verwenden Sie zum Entpacken winrar oder winzip zum Entpacken: jar xfv phpsrvlt.jar

  11. beides ändern net\php\reflect.properties und net\php\servlet.properties zu library=php5servlet

  12. JAR-Datei neu erstellen -> jar cvf php5srvlt.jar net/php/.
    PS: Wenn die JAR-Datei nicht ausgeführt wird, müssen Sie den Pfad zu den Systemvariablen hinzufügen, die ich hinzugefügt habe C:\Program Files\Java\jdk1.6.0\bin; to System variables/Path

  13. schaffen web.xml in tomcat\webapps\php\WEB-INF mit diesem Inhalt:

    <web-app version="2.4" 
      xmlns="http://java.sun.com/xml/ns/j2ee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
      http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd ">
      <servlet>
        <servlet-name>php</servlet-name>
        <servlet-class>net.php.servlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>php-formatter</servlet-name>
        <servlet-class>net.php.formatter</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>php</servlet-name>
        <url-pattern>*.php</url-pattern>
      </servlet-mapping>
      <servlet-mapping>
        <servlet-name>php-formatter</servlet-name>
        <url-pattern>*.phps</url-pattern>
      </servlet-mapping>
    </web-app>
    
  14. PHP-Pfad hinzufügen ( c:\php-5.2.6-Win32) zu Ihrem System- oder Benutzerpfad in der Windows-Umgebung (Tipp: Klicken Sie mit der rechten Maustaste und wählen Sie Eigenschaften aus Mein Computer

  15. schaffen test.php zum Testen unter tomcat\webapps\php wie

  16. Kater neu starten

  17. Durchsuche localhost:8080/php/test.php

  • +1 für dieses nette Tutorial. Es funktioniert, nachdem ich einen fehlenden Schritt hinzugefügt habe. Der fehlende Schritt ist: Kopieren php_java.jar von PECL 5.2.5 zu Kater\lib dir.

    – Reporter

    18. Februar 2013 um 15:53 ​​Uhr


  • Ich hoffe du kannst auch für 64 Bit schreiben 🙂

    – Rendi

    31. August 2014 um 7:37 Uhr

  • Hat jemand eine Vorstellung von der Leistung (im Vergleich zum Ausführen von PHP-Skripts innerhalb des Apache-HTTP-Servers)?

    – Ehsan Khodahami

    30. Juni 2017 um 10:59 Uhr


  • Sieht so aus, als ob es Tippfehler in der xmlns-Definition gibt

    – Imann

    26. Dezember 2019 um 17:57 Uhr

1647275048 597 Fuhren Sie eine PHP App mit Tomcat aus
Arjan

Es ist durchaus üblich, Tomcat hinter Apache auszuführen. In Apache können Sie dann bestimmte URLs an Tomcat weiterleiten und die anderen (einschließlich der statischen Bilder) von Apache/PHP verarbeiten lassen.

(Unter Unix kann Tomcat selbst nicht sicher auf Port 80 ausgeführt werden, während Apache dies kann. Tomcat, ein Java-Prozess, müsste als Root ausgeführt werden, während Apache zu Nicht-Root-Privilegien wechseln wird, sobald Port 80 vorhanden ist behauptet. Daher ist es unter Unix durchaus üblich, Apache auf Port 80 auszuführen und einige oder alle Anfragen an Tomcat umzuleiten.)

  • Dies ist definitiv die einfachste Option. Um Tomcat von Apache aus aufzurufen, sollten Sie sich das Apache-Modul mod_jk ansehen.

    – Steve Claridge

    27. April 2009 um 21:43 Uhr

  • Natürlich können Sie Tomcat auf Port 80 unter Unix ausführen, ohne root zu sein. Verwenden Sie einfach iptables, um Port 80 auf Port 8080 umzuleiten.

    – Kim Stebel

    6. Januar 2010 um 16:52 Uhr

  • @Kim, ich würde die Verwendung von iptables nicht so klassifizieren, dass Tomcat auf Port 80 ausgeführt wird, aber Sie haben Recht: Die Verwendung von Apache ist nicht die einzige Option. (Die Verwendung von Apache hat jedoch andere Vorteile, z. B. das Bereitstellen statischer Inhalte. Meine Aussage “ist zu bevorzugen” war sicherlich etwas zu vereinfacht.)

    – Arjan

    11. Januar 2010 um 18:07 Uhr

  • Heutzutage ist Tomcat in Ubuntu 10.04 mit authbind konfiguriert, um Ports unter 1024 zu verwenden, und funktioniert sehr gut. Mit Quercus können Sie auch einige (die meisten) PHP-Skripte problemlos ausführen.

    – Photodeus

    6. Juli 2010 um 0:09 Uhr

Kaucho Quercus kann PHP-Code auf dem jvm ausführen.

  • Stimmt, aber muss man nicht Caucho Resin verwenden?

    – Derrick

    6. Dezember 2011 um 15:54 Uhr

  • Das hat wirklich gut funktioniert. Ich habe die unter dem Titel “How to install or run PHP on Tomcat 6 in Windows” bereitgestellte Lösung ausprobiert und bin kläglich gescheitert.

    – IsstHafer

    2. Februar 2017 um 20:21 Uhr

Da das PHP/Java Brücke. Dies führt im Grunde genommen PHP über FastCGI aus. Ich habe es selbst nicht benutzt.

Ein bisschen spät, aber hier geht es.

Wie wäre es mit http://wiki.apache.org/tomcat/UsingPhp wenn Sie nur das echte PHP auf Tomcat ausführen möchten.

In Bezug auf das Ausführen von Tomcat auf Port 80 gibt es immer jsvc, einfach google jsvc + tomcat.

1647275048 719 Fuhren Sie eine PHP App mit Tomcat aus
Techniker

Tomcat ist als JSP-Servlet-Container konzipiert. Apache ist ein PHP-Webserver. Verwenden Sie Apache als Webserver, antworten Sie auf PHP-Anforderungen und leiten Sie die JSP-Servlet-Anforderung an den Tomcat-Container. sollte eine bessere Umsetzung sein.

1647275049 473 Fuhren Sie eine PHP App mit Tomcat aus
mithil-lehrpfade

Falls noch jemand sucht –
Quercus hat einen Krieg, der es erlaubt, PHP-Skripte in Apache Tomcat oder Glassfish auszuführen. Eine Schritt-für-Schritt-Anleitung finden Sie unter Das Artikel

  • Ich brauchte den schön geschriebenen Artikel nicht einmal, sondern habe ihn mir angesehen. Habe gerade die Kriegsakte geholt.

    – IsstHafer

    2. Februar 2017 um 20:27 Uhr


  • Quercus wird nicht mehr weiterentwickelt. Es hat nur PHP-5. Wenn Sie also ein Framework wie WordPress ausführen möchten, das nach PHP-7 sucht, funktioniert dies nicht.

    – Vaibhav Jain

    20. Mai 2020 um 16:39 Uhr

1002340cookie-checkFühren Sie eine PHP-App mit Tomcat aus?

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

Privacy policy