この記事では、Tomcat が PHP をサポートする方法について詳しく説明します。お役に立てれば幸いです。 JSP 動的 Web ページ技術を使用した Web サイトを担当していたとき、たまたまいくつかの機能が手元にあったため、Tomcat を PHP に対応させることをすぐに思いつきました。
Tomcat も Apache によって生成されていますが、JSP のみをサポートしていますか? Tomcat で PHP を使用できますか?インターネットで検索すると、最初の質問に対する答えがすぐに見つかりました。Tomcat は Perl などの CGI をサポートできるということです。
しかし、検索を続けた結果、Tomcat を PHP に対応させる方法は見つかりませんでした。PHP+JSP をサポートするいわゆる Web プラットフォームを構築するには、Apache と Tomcat を共存させてインストールする方法が一般的に使用されます。
もちろん、実際には、PHP 自体も CGI の使用をサポートしているので、(Windows オペレーティング システム上で) 自分で試してみました。まず、添付ファイルの指示に従って、Tomcat が CGI をサポートするようにし、次に web.xml を変更します。サーブレット - cgi という名前の構成に
<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>
を追加し、PHP インストール パスを Path に追加して、Tomcat が PHP.exe を実行できるようにします。 Tomcat を再起動した後、WEB-INF ディレクトリに新しい cgi ディレクトリを作成し、ここに PHP ファイルを配置し、仮想的にマップされた cgi-bin ディレクトリを使用してこれらの PHP ファイルにアクセスします。
ただし、PHP ファイルに何も変更を加えないと、出力がない場合があります。 PHP ファイルのヘッダーに行を追加し、2 つの改行を出力する必要があります。 echo "nn"; 理由は明らかではありません。 Content-type の入力、または Perl の CGI プログラミング スタイルを待っている可能性があります。
ただし、この設定では、PHP (4.1.0 以降) の $_REQUEST、$_GET、$_POST およびその他の変数は使用できません。QueryString は、サーバー変数または環境変数 $_SERVER["QUERY_STRING"] からのみ取得できます。 、$_ENV["QUERY_STRING"]。フォームのPOST送信はサポートされていないのかもしれません...まだ試していません。
私は Tomcat に詳しくないので、これらは現在の方法に対する単なる修正です。Tomcat で PHP をサポートする良い方法があるかもしれません。アドバイスをいただければ幸いです。