PHP und JAVA ... es geht nicht!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP und JAVA ... es geht nicht!

    Hi,

    ich versuche schon den ganzen Tag eine JAVA Test-Klasse mit PHP zum Laufen zu bekommen.

    Zuerst mal die Fakten

    Windows XP Professional SP2
    PHP Version 4.4.2 unter "D:\Programme\PHP "
    Apache Version 2.0.59 unter "D:\Programme\Apache Group\Apache2 "

    PHP läuft alles wunderbar, hab alles vor ca. 14 Tagen selber installiert (also nicht XAMPP), sogar die MSSQL und MySQL Datenbanken.

    Heute wollte ich wie gesagt mal testen wie ich auf JAVA Klassen zugreifen kann.

    In "D:\Programme\PHP\extensions " gibts bei meiner PHP-Version bereits eine Datei "php_java.jar ", d.h. die Extension ist schon da, hab also nix mehr installiert.

    Also zur "php.ini" die unter "C:\Windows " liegt.

    Ich habe diverse Inhalte folgendermaßen geändert ...
    Code:
    ...
    ;Windows Extensions
    ;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
    ...
    extension=php_java.dll
    ...
    [Java]
    java.class.path = "D:\PHP\extensions\php_java.jar";
    java.home = "D:\Programme\Java\";
    java.library = "D:\Programme\Java\jre1.5.0_06\bin\client\jvm.dll";
    java.library.path = "D:\PHP\extensions";
    java.class.path muss wie ich gelesen habe auf die php_java.jar zeigen => muss passen

    java.home zeigt auf JAVA Installations-Verzeichnis ... "D:\Programme\Java\jre1.5.0_06\" oder "D:\Programme\Java\jre1.5.0_06\bin\" haben auch nicht funktioniert.

    java.library muss wohl auf die "jvm.dll" zeigen, zumindest war der Wert vor meinen Änderungen ...

    Code:
    ...
    ;java.library = c:\jdk\jre\bin\hotspot\jvm.dll
    ...
    Ich habe also nach "jvm.dll" suchen lassen, und habe sie in obigem Verzeichnis gefunden.

    java.library.path muss ich dorthin verweisen lassen, wo das "php_java.jar" File liegt, also "D:\PHP\extensions".

    Wenn ich nun dieses Programm laufen lasse ...

    Code:
    <?php
      phpinfo();
      // In PHP Instanz der Java Klasse java.lang.System erzeugen
      $system = new Java('java.lang.System');
    
      // Zugriff auf die Objekteigenschaften
      print 'Java version='.$system->getProperty('java.version').' <br>';
      print 'Java vendor=' .$system->getProperty('java.vendor').'  <br>';
      print 'OS='.$system->getProperty('os.name').' '.
      //           $system->getProperty('os.version').' on '.
      //           $system->getProperty('os.arch').' <br>';
    
      // java.util.Date Beispiel
      $formatter = new Java('java.text.SimpleDateFormat',
                           "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
    
      print $formatter->format(new Java('java.util.Date'));
    ?>
    ... wird die phpinfo() angezeigt

    Code:
    ...
    
    ...........................................................................java...........................................................................
    
    Directive..............................Local Value..........................................Master Value
    java.class.path..............D:\PHP\extensions\php_java.jar.........................D:\PHP\extensions\php_java.jar
    java.home.........................D:\Programme\Java\.....................................D:\Programme\Java\
    java.library..............D:\Programme\Java\jre1.5.0_06\bin\client\jvm.dll    ..........D:\Programme\Java\jre1.5.0_06\bin\client\jvm.dll
    java.library.path.........................D:\PHP\extensions.........................D:\PHP\extensions
    
    ...
    ... und danach leider

    [COLOR=crimson]Fatal error: java.lang.NoClassDefFoundError: net/php/reflect in H:\Files\Programming\Java\workspace\Site2006\HTML\java.php on line 4[/COLOR]

    Es wird offensichtlich die Klasse "reflect" nicht gefunden. Ich habe mal mit winrar in das jar-File gesehen, die Klasse ist drin.

    Aber wo kann da das Problem liegen, ich habe gegoogelt bis zum umfallen. Ist ja nicht schwer, eigentlich ...
Lädt...
X