有关php调用lucene(JAVA)代码的问题
最近想使用网页显示Lucene搜索的结果,网上说用Php和javabridge可以,但是,我使用javabridge里面的example或者自己写的类都不行。
apache2.2+php5+mysql
现在是可以调用java自己的类如java.lang.String,但是自己写的不行啊。。。而且javabridge里面有一个例子是这样的:
- PHP code
<?php include_once ("java/Java.inc"); java_autoload("lucene.jar"); use java\lang\System as SYS; use java\io as IO; use java\util as Util; use org\apache\lucene as Lucene; try { echo "indexing ... "; /* create the index files in the tmp dir */ $tmp = create_index_dir(); $analyzer = new Lucene\analysis\standard\StandardAnalyzer(); $writer = new Lucene\index\IndexWriter($tmp, $analyzer, true); $file = new IO\File(getcwd()); $files = $file->listFiles(); assert (!java_is_null($files)); foreach($files as $f) { $doc = new Lucene\document\Document(); $doc->add(new Lucene\document\Field( "name", $f->getName(), Lucene\document\Field::type("Store")->YES, Lucene\document\Field::type("Index")->UN_TOKENIZED)); $writer->addDocument($doc); } ................ ................ ................
但是输出是这个
Warning: Unexpected character in input: '\' (ASCII=92) state=0 in C:\AppServ\www\test.php on line 5
Parse error: syntax error, unexpected T_STRING, expecting T_AS or T_PAAMAYIM_NEKUDOTAYIM or ';' in C:\AppServ\www\test.php on line 5
貌似php没有use这个用法啊。。。?
如果用java_require("lucene.jar");又说java_require什么不支持了。。。
大家路过帮帮忙吧。。。谢谢了
------解决方案--------------------
您的 php 版本太低了,尚不支持命名空间
------解决方案--------------------
环境有配置好吗。。。
编写一个简单的php测试一下。。。
$str = new java("java.lang.String", "hello");
echo $str;
------解决方案--------------------
这个问题好像我也遇到过,不过到现在也没解决
------解决方案--------------------
楼上是不是灌水啊,还弄个好像遇到过?我是真的遇到过,到现在还没解决的呢!
------解决方案--------------------
自己写个helloworld打包成jar 放到JavaBridge/WEB-INF/lib/下面 重启下jdk
然后在php里面 $helloworld=new Java("helloworld"); 试试看
我这没问题的