ホーム » TOMCAT

TOMCAT」カテゴリーアーカイブ

TOMCATが起動しない

久しぶりにGeoServerを起動しようとしたら、またもTOMCATが起動しない。
ということでJREのバージョンアップを確認。

現行のJREの情報

イベントビューアーを確認すると11/05にJREが更新されており、バージョンが「jre1.8.0_191」に更新されている。

よってJAVA_HOMEを「C:\Program Files\Java\jre1.8.0_151\bin」から「C:\Program Files\Java\jre1.8.0_191\bin」に変更

「C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\Tomcat7w.exe」を起動してJREの設定を変更

「C:\Program Files\Java\jre1.8.0_151\bin\server\jvm.dll」を「C:\Program Files\Java\jre1.8.0_191\bin\server\jvm.dll」に変更

以上、PCを再起動して終了

GeoServerが動かない→Tomcatが動かない

GeoServerが動作しないためTomcatのサービスを確認すると起動していない。
サービスを起動しようとすると以下のエラーが表示される。

イベントログには以下が出力されている「Apache Tomcat 7.0 Tomcat7 サービスは、次のサービス固有エラーで終了しました: ファンクションが間違っています。」

どうやらJavaがバージョンアップされてTomcatが参照しているJREの場所を更新する必要があるようだ。

環境変数:JRE_HOME
[code]
JRE_HOME=C:\Program Files\Java\jre1.8.0_111\bin
[/code]

C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\Tomcat7w.exeを起動して
jvm.dllのパスを確認

[code]
C:\Program Files\Java\jre1.8.0_111\bin\server\jvm.dll
[/code]

JREのディレクトリ確認

最初にインストールした「jre1.8.0_111」から「jre1.8.0_131」にバージョンアップされている。

Tomcat7w.exeの値と環境変数をいかに修正

C:\Program Files\Java\jre1.8.0_131\bin\server\jvm.dll

C:\Program Files\Java\jre1.8.0_131\bin

TOMCAT上でPHPを動かす

環境

OS Windows 2008 64bit
TOCAT 7.0.47
PHP php-5.3.28-Win32-VC9-x86

PHPのインストール

PHPのZIPファイル(php-5.3.28-Win32-VC9-x86.zip)をPHPのダウンロードページよりダウンロード

ZIPファイルをC:\php以下に展開

C:\php\php.ini-productionをC:\php\php.iniにコピー

;extension_dir = "ext"

extension_dir = "c:\php\ext"
に変更

;cgi.force_redirect = 1

cgi.force_redirect = 0
に変更

C:\phpにpathを通す

TOMCATの設定
PHP用のコンテキストPHPを作成
C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\php\WEB-INF\web.xmlに以下を記述
[code]
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name>PHP</display-name>
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value></param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value>C:\php\php-cgi.exe</param-value>
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>
</web-app>
[/code]

C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\php\META-INF\content.xmlに以下を記述
[code]
<?xml version="1.0" encoding="utf-8"?>
<Context privileged="true"/>
[/code]

C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\php\test.phpに以下を記述
[code]
<?php
phpinfo();
?>
[/code]

http://localhost:8080/php/test.phpをブラウザで表示して動作を確認
スクリーンショット 2014-01-15 10.27.54

参考にしたサイト

Tomcat上でPHPを動作させる

Tomcat 6.0.26でCGIを使ってPHPを呼び出す

TOMCATコンテキストの追加

C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps以下に新しいコンテキストとなるディレクトリを作成
ここではディレクトリphpを作成
C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\WEB-INF\web.xmlに以下を記述
[code]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>PHP</display-name>
</web-app>
[/code]

web.xmlの詳細はこちらが詳しい

TOMCAT5以前ではC:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\Catalina\localhost以下にコンテキストの情報をXMLに記述したが、TOMCAT6以降では必用はないようだ。