Maison  >  Article  >  développement back-end  >  Tomcat prend-il en charge php ?

Tomcat prend-il en charge php ?

(*-*)浩
(*-*)浩original
2019-09-11 11:48:073659parcourir

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.

Tomcat prend-il en charge php ?

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 à

Tomcat prend-il en charge php ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn