[APACHE][JAVA] Geht einfach nicht

  • Ich bin echt verzweifelt. Wäre soo dankbar, wenn mir jemand helfen kann.

    Ich werde die PHP extensions für Java verwenden (also aus PHP Java verwenden) und habe einen Apache Server auf dem lokalen Rechner. Und ich brings seit mehr als 5 Stunden jetzt nicht zusammen. Ich kann Apache nicht so konfigurieren, dass PHP mit den java extensions (php_java.dll) arbeitet. OS: windows.

    Ich muss etwas unter php.ini verändern, das sich im Apache-Verzeichnis befindet. Ich kommentiere also extension=php_java.dll aus. Okay, dann gibts dort einbisschen weiter unten einen Teil, der mit [JAVA] beginnt. Die Einträge sind:

    java.class.path
    java.home
    java.library
    java.library.path

    Die setze ich auch alle richtig. Unter java.class.path hab ich z.B.
    c:\php\php-4.3.9-Win32\extensions\php_java.jar
    Dort gibt's auch tatsächlich die Datei php_java.jar.
    Apache neu starten erzeugt keine Fehlermeldungen und wenn ich phpinfo() aufrufe, dann seh ich einen Teil mit Java und diese obigen Parameter, die ich ins config-file eingetragen hab aufgelistet. Also müsste es funktionieren (in den diversesten Foren schafft es auch jeder nach diesem Schritt Java zum Laufen zu bringen) Nur ein kleiner Test:

    PHP
    <?php
    
      $systemInfo = new Java("java.lang.System");
      echo "Total seconds since January 1, 1970: 
      ".$systemInfo->currentTimeMillis();
    
      ?>


    ergibt die Fehlermeldung, cannot instantiate non-existing class. Offensichtlich wird Java nicht erkannt. Außerdem bringt dieser kurze, aber böse Code den ganzen Apache-Server zum Absturz, jedes Mal wenn ich es mit meinem Browser teste. Was mach ich falsch? Google hat schon lang ausgedient...

    The idea behind this technique is surprisingly simple: just go ahead and do whatever you want to without paying attention to what anybody else is doing. If there is a problem, worry about it later. (Many politicians use this algorithm, too) -- A. S. Tanenbaum, M. v. Steen, Distributed Systems

  • Hmm, wenn du wirklich dieses Code-Beispiel verwendest, ist es klar, wieso es nicht funktioniert, einmal $sysInfo und dann $systemInfo kann nicht funktionieren... Ansonsten kann ich leider wenig helfen, kenne mich zu wenig mit Java in PHP aus.

  • Ah!, danke, das ist ein Tippfehler gewesen, aber das Problem besteht natürlich weiterhin...

    The idea behind this technique is surprisingly simple: just go ahead and do whatever you want to without paying attention to what anybody else is doing. If there is a problem, worry about it later. (Many politicians use this algorithm, too) -- A. S. Tanenbaum, M. v. Steen, Distributed Systems

  • ich schätze mal, du hast in deiner php.ini einfach die sechs Zeilen (wie in der Beschreibung) ans Ende angehängt?

    Zitat

    [Java]
    extension=php_java.dll
    java.class.path="C:/Programme/Netzwerk/PHP/extensions/php_java.jar"
    java.home="C:/Programme/Java/j2sdk1.4.2/jre/bin"
    java.library="C:/Programme/Java/j2sdk1.4.2/jre/bin/server/jvm.dll"
    java.library.path="C:/Programme/Netzwerk/PHP/extensions"

    Php.ini ist so geplant, dass du eigentlich nur auskommentieren musst, was du brauchst - kann also sein, dass es jetzt in deiner INI zwei Bereiche [Java] gibt, die Pfade stehen dann im zweiten Bereich und werden ignoriert.

    [edit] obwohl, nach genauerem Lesen von deinem Post - ups :)[/edit]

    Habs mal schnell ausprobiert, das würde genau deinen Fehler (Objekt kann nicht instanziiert werden, weil es die Klasse dazu nirgends gibt) erzeugen.

  • Ich hab nicht ganz verstanden, wie du meinst, mit 2 Bereichen. Da ist ein Bereich, der mit [JAVA] anfängt, der ganz am Anfang noch kommentiert war. Ich hab diesen Teil auskommentiert, und gemäß meiner Verzeichnishierarchie modifiziert. Ich bin sogar von jdk1.5.1 auf jdk1.3.1 umgestiegen, weil ich irgendwo gelesen hab, dass es mit jdk > 1.3.x vielleicht Kompatibilitätsprobleme geben kann, aber nein. Der Fehler bleibt der gleiche...

    edit: das hatte ich noch geschrieben, bevor du editiert hast :)

    edit2: jetzt gehts!! ich geh stark davon aus, dass jdk1.5.1 die Probleme verursacht hat. Außerdem muss ich die paths unbedingt absolut angeben glaub ich und semicolons nicht vergessen (obwohl ich öfters gelesen hab, dass es anders auch geht). Na ja zumindest funktionierts jetzt mal. Trotz mysteriösen Fehlermeldungen wie "insecure options" oder so. Aber es steht im PHP-Manual sowieso, dass man diese java-extensions auf eigene Gefahr benutzen soll.
    Danke für eure Hilfe!

    The idea behind this technique is surprisingly simple: just go ahead and do whatever you want to without paying attention to what anybody else is doing. If there is a problem, worry about it later. (Many politicians use this algorithm, too) -- A. S. Tanenbaum, M. v. Steen, Distributed Systems

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!