Maison >développement back-end >tutoriel php >La configuration PHP de Tomcat ne peut pas utiliser $_post, $_get
Lorsque j'étais en charge d'un site web utilisant la technologie web dynamique JSP, il se trouvait que j'avais quelques fonctions écrites en PHP, j'ai donc tout de suite pensé à faire supporter PHP à Tomcat. Tomcat est également produit par Apache, supporte-t-il uniquement JSP ? Puis-je utiliser PHP sur Tomcat ? Après une recherche en ligne, j'ai rapidement obtenu la réponse à la première question : Tomcat peut prendre en charge les CGI, tels que Perl (voir la pièce jointe pour les paramètres spécifiques). Mais après avoir continué mes recherches, je n'ai pas réussi à trouver un moyen de laisser Tomcat utiliser PHP. Généralement, la méthode d'installation d'Apache et Tomcat pour coexister est utilisée pour créer la soi-disant plateforme Web qui prend en charge PHP. +JSP.
Bien sûr, PHP lui-même prend également en charge l'utilisation de CGI, je l'ai donc essayé moi-même (sur le système d'exploitation Windows ) : Suivez d'abord la pièce jointe. La méthode est pour que Tomcat prenne en charge CGI, puis modifiez web.xml et ajoutez dans la section de configuration où le nom du servlet est cgi :
<init-param> <param-name>executable</param-name> <param-value>php</param-value> </init-param>
et ajoutez le chemin d'installation de PHP à Path, afin que Tomcat puisse s'exécuter sur PHP.exe. Après avoir redémarré Tomcat, créez un nouveau répertoire cgi sous le répertoire WEB-INF, placez les fichiers PHP ici, puis utilisez le répertoire cgi-bin virtuellement mappé pour accéder à ces documents PHP.
Mais si vous n'apportez aucune modification au fichier PHP, vous constaterez peut-être qu'il n'y a aucune sortie. Vous devez ajouter une ligne à l'en-tête du fichier PHP et afficher deux retours chariot :
echo "nn";
La raison n'est pas claire. Il attend peut-être une entrée de type Contenu ou le style de programmation CGI de Perl.
Mais avec cette configuration, les variables telles que $_REQUEST, $_GET, $_POST en PHP (4.1.0 ou supérieur) ne peuvent pas être utilisées QueryString ne peut être obtenu qu'à partir de variables de serveur ou de variables d'environnement : $_SERVER["QUERY_STRING"], $_ENV["QUERY_STRING"]. Peut-être que la soumission POST du formulaire n'est pas prise en charge... Je ne l'ai pas encore essayé.
Comme je ne connais pas Tomcat, ce ne sont que des correctifs mineurs sur la méthode actuelle. Il peut y avoir de bonnes pratiques, et j'espère que vous me donnerez quelques conseils !
Recommandations associées :
Comment installer Tomcat7.0.82 sous Linux
Introduction à plusieurs chargeurs de classes dans Tomcat
Explication détaillée de la structure globale de Tomcat
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!