In this article, we explain in detail how Tomcat supports PHP. We hope it will be helpful to you. When I was in charge of a website using JSP dynamic web page technology, I happened to have some functions on hand, so I immediately thought of making Tomcat support PHP.
Tomcat is also produced by Apache. Does it only support JSP? Can I use PHP on Tomcat? After searching on the Internet, I quickly got the answer to the first question: Tomcat can support CGI, such as Perl.
But I continue to search, but I have been unable to find a way to make Tomcat support PHP. Generally, I use the method of installing Apache and Tomcat to coexist to build a so-called Web platform that supports PHP+JSP.
Of course, in fact, PHP itself also supports the use of CGI, so I tried it myself (on a Windows operating system): first follow the instructions in the attachment to make Tomcat support CGI, and then change the web. xml, add:
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><</span><span> </span><span class="tag-name">init-param</span><span class="tag">></span><span> </span></span></li> <li> <span class="tag"><</span><span> </span><span class="tag-name">param-name</span><span class="tag">></span><span>executable</span><span class="tag"><</span><span> /param-name</span><span class="tag">></span><span> </span> </li> <li class="alt"> <span class="tag"><</span><span> </span><span class="tag-name">param-value</span><span class="tag">></span><span>php</span><span class="tag"><</span><span> /param-value</span><span class="tag">></span><span> </span> </li> <li> <span class="tag"><</span><span> /init-param</span><span class="tag">></span><span> </span> </li> </ol>
to the configuration section where the servlet-name is cgi and add the PHP installation path to Path, so that Tomcat can run PHP.exe. After restarting Tomcat, create a new cgi directory in the WEB-INF directory, place the PHP files here, and then use the virtually mapped cgi-bin directory to access these PHP files.
But if you don’t make any changes to the PHP file, you may find that there is no output. You need to add a line to the header of the PHP file and output two carriage returns: echo "nn"; The reason is not clear. It may be waiting for Content-type input, or Perl's cgi programming style.
But with this configuration, $_REQUEST, $_GET, $_POST and other variables in PHP (4.1.0 or above) cannot be used. QueryString can only be obtained from server variables or environment variables: $_SERVER[ "QUERY_STRING"], $_ENV["QUERY_STRING"]. Maybe POST submission of the form is not supported... I haven't tried it yet.
Since I am not familiar with Tomcat, these are just minor fixes on the current method. There may be good ways for Tomcat to support PHP, and I hope you will give me some advice!