ホームページ >バックエンド開発 >PHPの問題 >Tomcat は PHP をサポートしていますか?

Tomcat は PHP をサポートしていますか?

(*-*)浩
(*-*)浩オリジナル
2019-09-11 11:48:073766ブラウズ

Java 開発者は皆、Java Web プロジェクトのデプロイに Tomcat が使用されていることを知っています。この期間中に、PHP プロジェクトと同じドメイン名とポートを必要とするプロジェクトがありましたが、nginx を使用せずにこれを実現するにはどうすればよいでしょうか? Tomcat が Java Bridge を介した php の実行をサポートできることを知りました。

Tomcat は PHP をサポートしていますか?

詳しい手順は次のとおりです。

1. 環境の準備

php環境のインストール、Java仮想マシン、tomcatのインストール

最小構成これらのツールの PHP 5.x、Java 6 以降、Tomcat 6 以降です。

2. tomcat の設定 (推奨学習: PHP プログラミングの入門から熟練度まで )

PHP/Java Bridge の JavaBridge の統合.jar、php-servlet.jar、php-script.jar が tomcat の lib ディレクトリにコピーされます;

Tomcat インストール ディレクトリの conf フォルダにある web.xml ファイルを変更し、次の内容をweb-app タグ コード;

<listener>
<listener-class>php.java.servlet.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>PhpJavaServlet</servlet-name>
<servlet-class>php.java.servlet.PhpJavaServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>PhpCGIServlet</servlet-name>
<servlet-class>php.java.servlet.fastcgi.FastCGIServlet</servlet-class>
<init-param>
<param-name>prefer_system_php_exec</param-name>
<param-value>On</param-value>
</init-param>
<init-param>
<param-name>php_include_java</param-name>
<param-value>Off</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>PhpJavaServlet</servlet-name>
<url-pattern>*.phpjavabridge</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PhpCGIServlet</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>

上記の手順を完了した後、tomcat を再起動すると、任意のプロジェクトで php スクリプトを実行できますが、webapps/ で直接実行することはできません。Tomcat の公式 Web サイトでは cgiPathPrefix が次のように説明されているためです。以下:

The CGI search path will start at the web application root directory + File.separator + this prefix.

webapps ディレクトリ内のファイルindex.php に直接アクセスする場合

<?php phpinfo();?>

Tomcat は PHP をサポートしていますか?

がアクセスすると表示されます。

以上がTomcat は PHP をサポートしていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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