私が JSP ダイナミック Web 技術を使用した Web サイトを担当していたとき、たまたま PHP で書かれた関数がいくつかあったため、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 である構成セクションに
<init-param> <param-name>executable</param-name> <param-value>php</param-value> </init-param>
を実行し、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 に詳しくないので、これらは現在の方法の単なる修正です。良い実践方法があるかもしれません。アドバイスをいただければ幸いです。
関連する推奨事項:
Linux で Tomcat7.0.82 をインストールする方法
以上がTomcat 設定 PHP では $_post、$_get を使用できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。