
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?

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
-
Laden Sie PHP 5 herunter und entpacken Sie es in ein Verzeichnis. c:\php-5.2.6-Win32
– php-5.2.9-2-Win32.zip herunterladen
-
herunterladen PECL 5.2.5 Win32 Binärdateien – PECL 5.2.5 Win32 herunterladen
-
umbenennen php.ini-dist
zu php.ini
in c:\php-5.2.6-Win32
-
Kommentieren Sie die Zeile aus oder fügen Sie sie hinzu (entfernen Sie das Semikolon am Anfang). php.ini
:
;extension=php_java.dll
-
Kopieren php5servlet.dll
von PECL 5.2.5 bis c:\php-5.2.6-Win32
-
Kopieren php_java.dll
von PECL 5.2.5 zu c:\php-5.2.6-Win32\ext
-
Kopieren php_java.jar
von PECL 5.2.5 zu tomcat\lib
-
Erstellen Sie ein Verzeichnis mit dem Namen "php"
(oder was auch immer du magst) in tomcat\webapps
Verzeichnis
-
Kopieren phpsrvlt.jar
von PECL 5.2.5 zu tomcat\webapps\php\WEB-INF\lib
-
Entpacken oder entpacken phpsrvlt.jar
Verwenden Sie zum Entpacken winrar oder winzip zum Entpacken: jar xfv phpsrvlt.jar
-
beides ändern net\php\reflect.properties
und net\php\servlet.properties
zu library=php5servlet
-
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
-
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>
-
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
-
schaffen test.php
zum Testen unter tomcat\webapps\php
wie
-
Kater neu starten
-
Durchsuche localhost:8080/php/test.php

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.)
Kaucho Quercus kann PHP-Code auf dem jvm ausführen.
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.

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.

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
10023400cookie-checkFühren Sie eine PHP-App mit Tomcat aus?yes