ホームページ  >  記事  >  バックエンド開発  >  Tomcat 設定 PHP では $_post、$_get を使用できません

Tomcat 設定 PHP では $_post、$_get を使用できません

小云云
小云云オリジナル
2018-02-27 10:14:231467ブラウズ

私が 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 のいくつかのクラスローダーの紹介

Tomcat の全体的な構造の詳細な説明

以上がTomcat 設定 PHP では $_post、$_get を使用できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。