Als ich für eine Website mit dynamischer JSP-Webtechnologie verantwortlich war, hatte ich zufällig einige Funktionen in PHP geschrieben, also dachte ich sofort darüber nach, Tomcat PHP-Unterstützung zu ermöglichen. Tomcat wird ebenfalls von Apache produziert. Unterstützt es nur JSP? Kann ich PHP auf Tomcat verwenden? Nach einer Online-Suche bekam ich schnell die Antwort auf die erste Frage: Tomcat kann CGI wie Perl unterstützen (spezifische Einstellungen finden Sie im Anhang). Aber nachdem ich weiter gesucht habe, konnte ich keine Möglichkeit finden, Tomcat die Verwendung von PHP zu ermöglichen. Im Allgemeinen wird die Methode der Koexistenz von Apache und Tomcat verwendet, um die sogenannte Webplattform zu erstellen, die PHP unterstützt +JSP.
PHP selbst unterstützt natürlich auch die Verwendung von CGI, daher habe ich es selbst ausprobiert (auf dem Windows-Betriebssystem ): Folgen Sie zunächst dem Anhang. Die Methode ist Damit Tomcat CGI unterstützt, ändern Sie dann web.xml und fügen Sie im Konfigurationsabschnitt hinzu, wo der Servlet-Name cgi lautet:
<init-param> <param-name>executable</param-name> <param-value>php</param-value> </init-param>
und fügen Sie den PHP-Installationspfad zu Path hinzu, damit Tomcat auf PHP.exe ausgeführt werden kann. Erstellen Sie nach dem Neustart von Tomcat ein neues CGI-Verzeichnis im Verzeichnis WEB-INF, legen Sie die PHP-Dateien hier ab und verwenden Sie dann das virtuell zugeordnete cgi-bin-Verzeichnis , um auf diese PHP-Dokumente zuzugreifen.
Wenn Sie jedoch keine Änderungen an der PHP-Datei vornehmen, kann es sein, dass keine Ausgabe erfolgt. Sie müssen dem Header der PHP-Datei eine Zeile hinzufügen und zwei Wagenrückläufe ausgeben:
echo "nn";
Der Grund ist nicht klar. Möglicherweise wartet es auf Eingaben vom Typ „Content“ oder auf den CGI-Programmierstil von Perl.
Aber mit dieser Konfiguration können Variablen wie $_REQUEST, $_GET, $_POST in PHP (Version 4.1.0 oder höher) nicht verwendet werden QueryString kann nur von Servervariablen oder Umgebungsvariablen abgerufen werden: $_SERVER["QUERY_STRING"], $_ENV["QUERY_STRING"]. Möglicherweise wird die POST-Übermittlung des Formulars nicht unterstützt... Ich habe es noch nicht ausprobiert.
Da ich mit Tomcat nicht vertraut bin, sind dies nur geringfügige Korrekturen an der aktuellen Methode. Möglicherweise gibt es gute Vorgehensweisen, und ich hoffe, Sie geben mir einige Ratschläge!
Verwandte Empfehlungen:
So installieren Sie Tomcat7.0.82 unter Linux
Einführung in mehrere Klassenlader in Tomcat
Detaillierte Erläuterung der Gesamtstruktur von Tomcat
Das obige ist der detaillierte Inhalt vonTomcat-Konfigurations-PHP kann $_post, $_get nicht verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!