- PR -

PHPからSVFのVrInitを実行するとエラー(-1)で返ってきます

1
投稿者投稿内容
NIJNTJE
会議室デビュー日: 2008/02/01
投稿数: 2
投稿日時: 2008-02-01 13:28
初めて投稿させて頂きます。
環境は以下のとおりです。
WindowsXP SP2
Apache 2.0
PHP 5.1.6
JDK 1.5.0_14
java bridge 3.2.1
SVF 6.2

PHPで以下のコードを実行すると、VrInitの戻り値が-1となり、
正常に動作しません。
java_require('http://localhost/test/lib/svf.jar');
$myObj = new Java('jp.co.fit.vfreport.Vrw32');
$int = $myObj->VrInit(); ←ここで$intに-1が返ってくる

SVFのマニュアルを読んでも、インターネットで検索しても
ピンポイントな情報がなく、原因や解決策が見つからない状態です。

どなたかご存知の方がいらっしゃいましたら、お教え願いたいと思います。
よろしくお願いします。
NIJNTJE
会議室デビュー日: 2008/02/01
投稿数: 2
投稿日時: 2008-02-01 17:35
解決できました。

原因は、PHP.iniで設定していたjava.library.pathに
vfreport.propertiesファイルが存在しなかったため、エラーとなっていました。

以下、対策となります。
java.library.path="C:\\PHP\\ext"
C:\\PHP\\extフォルダ配下に以下のファイルをコピー
svf.jar
vfreport.defaults.properties
vfreport.EMF.properties
vfreport.EMFUI.properties
vfreport.EWF.EMF.properties
vfreport.PDF.PDF.properties
vfreport.PDF.properties
vfreport.PDFUI.properties
vfreport.printers.properties
vfreport.properties

以下、PHPソースコード
<html>
<head>
<title>SVFとりあえず初期化処理</title>
</head>
<body>
<?php
java_require('http://localhost/test/lib/svf.jar');
$myObj = new Java('jp.co.fit.vfreport.Vrw32');

// SVF初期化処理
$int = $myObj->VrInit();
if($int < 0)
{
echo '初期化エラー';
echo '<br>';
echo 'エラーコード:'.$int;
}
else
{
echo '初期化成功';
}
echo '<br>';
$int = $myObj->VrQuit();
if($int < 0)
{
echo '終了エラー';
echo '<br>';
echo 'エラーコード:'.$int;
}
else
{
echo '終了成功';
}
?>
</body>
</html>
1

スキルアップ/キャリアアップ(JOB@IT)