[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: PHP Java Integration auf Debian



Hans Gerber wrote:

Hallo Alfred,

Alfred Ostermeier schrieb am 24.04.2004 um 01:08 Uhr CEST

Hallo,

hat es schon mal jemand geschafft, PHP und Java auf einem
Debian-Rechner zu integrieren? Ich habe bereits die Benutzer-Beiträge
unter www.php.net/java gelesen und die verschiedensten Konfigurationen

ausprobiert: ohne Erfolg; Mozilla wirft folgenden Fehler aus:*

Fatal error*: Cannot instantiate non-existent class: java in */var/www/phpjava_test.php* on line *6
*
Ich denke, dass es ein Konfigurationsproblem ist. Das Modul java.so
ist beim Erstellen des PHP-Moduls für Apache erstellt worden.

Sollte jemand PHP und Java auf einem (aktuellen) Debian-System (ich verwende Sarge) schon mal zum Zusammenarbeiten gekriegt haben, wäre ich über die genaue Konfiguration sehr dankbar (insbesondere php.ini, $CLASSPATH |falls notwendig|, $|LD_LIBRARY_PATH falls notwendig).

Viele Grüße
Alfred


***Aus meiner php.ini***:
extension_dir =
"/usr/local/lib/php/extensions/no-debug-non-zts-20020429"|||extension
=java.so[Java]
java.class.path = "/usr/local/lib/php/php_java.jar"
java.home = /usr/local/j2sdk1.4.2_04
java.library = /usr/local/j2sdk1.4.2_04/jre/lib/i386/server/libjvm.so
java.library.path =
/usr/local/lib/php/extensions/no-debug-non-zts-20020429

mit Blackdown läuft es sehr gut. ;)
sarge/sid

-------------snipp----php.ini----------------
[java]
;set JAVA_HOME
java.home=/usr/lib/j2se/1.4
;set Path to the php java extension
java.library.path=/usr/lib/php4/20020429
;set the Java VM(delivered with the JSDK or JRE)
java.library=/usr/lib/j2se/1.4/jre/lib/i386/libjava.so
;set the CLAA_PATH for compiled Java classes
java.class.path=/usr/lib/j2se/1.4/jre/lib/rt.jar:/usr/local/src/php-4.3
.4/ext/java/php_java.jar:/usr/local/shark-1.0/lib/sharkclients.jar:/u
sr/local/shark-1.0/lib/sharkcorba.jar:/usr/local/lib/java

extension=java.so
------------snapp----------------------

ABER ACHTUNG!
ich bekomme es nur zum spielen mit einem

-----------snipp----php.ini-------------
ENV="env -i LANG=C PATH=/bin:/usr/bin:/sbin:/usr/sbin
JAVA_HOME=/usr/lib/j2se/1.4
LD_LIBRARY_PATH=/usr/lib/j2se/1.4/jre/lib/i386"
-----------snapp---------------------

im Apache Startskript (/etc/init.d/apache). Das entscheidende ist bei
mir der LD_LIBRARY_PATH, warum auch immer. :-<

Mich würde im Gegenzug sehr(!) interessieren, was Ihr generell für
Erfahrungen mit der php_java Extension habt.

Gruß,
Hans


Hans, erst mal ein fettes Danke!

Erlaube mir noch eine Frage: welches php hast du verwendet und was für ein java.so (selbst kompiliert? Oder von "deb http://www.heydon.com.au/debian unstable/"?)?

Warum diese Pfadangabe bei LD_LIBRARY_PATH notwendig ist, kann ich dir schon sagen: Immer wenn du Programme mit neuen Bibliotheken manuell(!) installierst, sind diese Bibliotheken erst mal im System nicht sichtbar. Um sie sichtbar zu machen, muss man entweder die jeweiligen Pfäde in LD_LIBRARY_PATH hinzufügen. Oder in /etc/ld.so.conf und ein ldconfig ausführen. Der Linkder ld wertet bei der Suche nach Bibliotheken sowohl die Umgebungsvariable, als auch die von ldconfig erzeugte /etc/ld.so.cache aus.

Wenn du dagegen richtige Pakete mit neuen Bibliotheks-Dateien installierst, solltest du dich aber darum nicht kümmern müssen. So weit die Theorie.

Viele Grüße
Alfred



Reply to: