Les développeurs Java savent tous que Tomcat est utilisé pour déployer des projets Web Java. Pendant cette période, il y avait un projet qui nécessitait le même nom de domaine et le même port que le projet PHP. Comment y parvenir sans utiliser nginx ? J'ai appris que Tomcat peut prendre en charge l'exécution de PHP via Java Bridge.
Essayons-le aussi. Voici les étapes détaillées.
1. Préparation de l'environnement
Environnement php installé, machine virtuelle java installée, tomcat
La configuration minimale de ces outils Il s'agit de PHP 5.x, Java 6 ou supérieur, Tomcat 6 ou supérieur.
2. Configurer Tomcat (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)
Intégrer le JavaBridge de PHP/Java Bridge .jar, php-servlet.jar et php-script.jar sont copiés dans le répertoire lib de tomcat
Modifiez le fichier web.xml dans le dossier conf du répertoire d'installation de tomcat et ajoutez ce qui suit au fichier. code de balise web-app ;
<listener> <listener-class>php.java.servlet.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>PhpJavaServlet</servlet-name> <servlet-class>php.java.servlet.PhpJavaServlet</servlet-class> </servlet> <servlet> <servlet-name>PhpCGIServlet</servlet-name> <servlet-class>php.java.servlet.fastcgi.FastCGIServlet</servlet-class> <init-param> <param-name>prefer_system_php_exec</param-name> <param-value>On</param-value> </init-param> <init-param> <param-name>php_include_java</param-name> <param-value>Off</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>PhpJavaServlet</servlet-name> <url-pattern>*.phpjavabridge</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>PhpCGIServlet</servlet-name> <url-pattern>*.php</url-pattern> </servlet-mapping>
Après avoir terminé les étapes ci-dessus, redémarrez Tomcat et vous pourrez exécuter le script php sous n'importe quel projet, mais il ne peut pas être exécuté directement sous webapps/, car le site officiel de Tomcat explique cgiPathPrefix comme suit :
The CGI search path will start at the web application root directory + File.separator + this prefix.
Accéder directement au fichier index.php dans le répertoire webapps
<?php phpinfo();?>
apparaît lors de l'accès à
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!