1

JavaBridge.war ファイルをダウンロードし、「JavaBridge」という名前の Apache www フォルダー内のフォルダー内で収縮させました。したがって、パスは次のようになります。

http://myhost.com/JavaBridge/

「hello.php」と「test.php」または「excel.php」はすべて、そのフォルダーのルートに含まれています。すなわち: http://myhost.com/JavaBridge/index.php

そのパスに移動すると、phpinfo()関数が私のPHP構成を表示するため、PHPは機能しています。問題は、Java クラスが取得されていないことです。

Apache、Tomcat7、および Java の両方が実行されています。デフォルトのjdkがインストールされています。

java -version
java version "1.6.0_30"
OpenJDK Runtime Environment (IcedTea6 1.13.1) (6b30-1.13.1-1ubuntu2~0.12.04.1)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)

そのディレクトリ内の hello.php ファイルにアクセスすると、Apache ログに次のように表示されます。

[error] [client myhost] PHP Notice:  Undefined index: language in /var/www/JavaBridge/hello.php on line 11

このファイルの内容は次のとおりです。

<?php header("Content-type: text/html; charset=UTF-8"); ?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Hello</title>
<body>
<TABLE border='1'>
<tr>
<th>English</th>
<th><?php
 $lang=$_GET['language'];
 if(!isset($lang)) $lang="cs_CZ";
 echo $lang?>
</th>
</tr>
<tr>
<td>Hello</td>
<td>
<?php
if(!function_exists("bindtextdomain")) die("function bindtextdomain not found. Please       install language support, see http://php.net for details");
bindtextdomain("hello", "./locale");
textdomain("hello");
setlocale(LC_ALL, $lang);
echo _("hello");
?>
</td>
</tr>
</TABLE>
<form>
<p>
<select name='language'>
<option value="cs_CZ">cs_CZ (Czech)</option>
<option value="de_DE">de_DE (German)</option>
<option value="he_IL">he_IL (Hebrew)</option>
<option value="ja_JP">ja_JP (Japanese)</option>
</select>
<p>
<input type="submit" default="cs_CZ" value="Update"></input>
</form>
</body>
</html>

一部のチュートリアルで推奨されているように、WEB-INFJavaBridge.war を収縮させた後、既に 3 つのライブラリ ファイルを配置しました。/usr/share/tomcat7/lib

/etc/tomcat7/web.xml他のチュートリアルで提案されているように、既に webapp 構成を追加しています。

JavaBridge を機能させるのが非常に難しい理由と、何をすべきかを誰か説明できますか?

4

1 に答える 1

0

Carsten が言ったように、「$lang=$_GET['language'];クエリ文字列に language=SOMETHING が含まれていない場合、通知が投げかけられます」。

PS 質問を未回答のままにしないようにしてください。

于 2014-04-01T14:12:30.977 に答える