Jasper-Reports / iReport unter Zend Server

Jacka

Erfahrenes Mitglied
Hallo zusammen,

im aktuellen PHP-Magazin ist ein interessanter Artkel beschrieben:
"Webbasierte Logistikprozesse mit Barcodescannern".

Dort wird mit dem Zend Server gearbeitet, inkl. Zend Java-Bridge.

Für die Berichtgenerierung im beschriebenen Programm, wird Jasper-Reports / iReport eingesetzt und über PHP angesprochen.
Hier kommt die Java-Bridge zum Einsatzt, da es sich ja um ein Java-Komponente handelt.

So, jetzt versuche ich das ganze zum Laufen zu bringen... :confused:

Hat irgend jemand Erfahrung mit Jasper-Report und PHP?

Welche Dateien müssen wohin kopiert werden? In einigen Resourcen im Internet ist beschrieben, man solle alle Lib Dateien in sein Java Verzeichnis kopieren... :confused:


Vielen Dank und Grüße,
Jacka
 
Hi!

Also irgendwie findet der die benötigten Dateien nicht, also die Java Bibliotheken...

Hier mal mein Code:

PHP:
$path = 'reports/';

$java_library_path ="c:\\Program Files\\Java\\jre6\\lib\\ext\\jasperreports-3.5.2.jar;
                     c:\\Program Files\\Java\\jre6\\lib\\ext\\commons-digester-1.7.jar;
                     c:\\Program Files\\Java\\jre6\\lib\\ext\\commons-collections-3.2.1.jar;
                     c:\\Program Files\\Java\\jre6\\lib\\ext\\commons-beanutils-1.8.0.jar;
                     c:\\Program Files\\Java\\jre6\\lib\\ext\\iText-2.1.0.jar;";


java_require($java_library_path);

$sJcm = new Java("net.sf.jasperreports.engine.JasperCompileManager");
$report = $sJcm->compileReport($path."user.jrxml");

$sJfm = new Java("net.sf.jasperreports.engine.JasperFillManager");
$print = $sJfm->fillReport($report,
new Java("java.util.HashMap"),
 new Java("net.sf.jasperreports.engine.JREmptyDataSource"));

$sJem = new Java("net.sf.jasperreports.engine.JasperExportManager");
$sJem->exportReportToPdfFile($print, $path."simple_report.pdf");

Und diesen Fehler bekomme ich.
PHP:
Fatal error: Uncaught exception 'JavaException' with message 'Java Exception java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JasperCompileManager java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JasperCompileManager at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) ' in C:\Program Files\Zend\Apache2\htdocs\msa\JasperPhp\test.php:32 Stack trace: #0 C:\Program Files\Zend\Apache2\htdocs\msa\JasperPhp\test.php(32): *No Class!*->jbridge('net.sf.jasperre...') #1 {main} thrown in C:\Program Files\Zend\Apache2\htdocs\msa\JasperPhp\test.php on line 32

Hat jemand eine Idee, wie ich die Bibliotheken einbinden kann, also wo sie sich befinden müssen?

Danke!

Viele Grüße,
Jacka
 
Zurück