[php] PHP i Java

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
cwiru
Nowy
Nowy
Posty: 41
Rejestracja: pt lut 27, 2004 1:47 pm
Lokalizacja: ze Śródziemia

[php] PHP i Java

Post autor: cwiru »

Chciałbym zapytać , czy wie ktoś czy można łączyć skrypty PHP z Javą. Interesuje mnie czy można np. przekazać dane z GET,POST do appletu Javy, oraz dane z Javy do PHP ?
iro
Moderator
Posty: 402
Rejestracja: pt gru 19, 2003 8:20 pm
Lokalizacja: Szczecin

Re: [php] PHP i Java

Post autor: iro »

Z tego co wyczytałem to można. Musisz jedynie dodać bibliotekę php_java.dll jeśli działasz pod Windą, lub jeśli dobrze pamiętam libphp_java.so jeśli pod Linuxem.
Co do przykładu zastosowań to nie chciało mi się szukać. Zrób to sam - google działa :)
iro
Moderator
Posty: 402
Rejestracja: pt gru 19, 2003 8:20 pm
Lokalizacja: Szczecin

Re: [php] PHP i Java

Post autor: iro »

Ale masz szczęście :). Zupełnie przypadkiem natrafiłem na coś takiego
http://www.webdeveloper.pl/php_i_java,246,1,1,pl.html. Chyba o coś takiego Ci chodziło?
cwiru
Nowy
Nowy
Posty: 41
Rejestracja: pt lut 27, 2004 1:47 pm
Lokalizacja: ze Śródziemia

Re: [php] PHP i Java

Post autor: cwiru »

Dzięki za link. Przyda się
cwiru
Nowy
Nowy
Posty: 41
Rejestracja: pt lut 27, 2004 1:47 pm
Lokalizacja: ze Śródziemia

Re: [php] PHP i Java

Post autor: cwiru »

Mam dalsze pytania , związane z integracją PHP i Javy. Przepatrzyłem artykuł z podanego linku. No i chciałem uruchomić podany tam przykład u siebie. Niestety nie mogę tego zrobić ze względu na błąd :
Warning: java.lang.ClassNotFoundException: Vat
Fatal error: Call to a member function on a non-object

Mój kod PHP :
[php] <?php

function print_form()
{
print "
<form action=testy_java.php method=post>Cena (np. 10.99):<BR>
<input type=text name=cena size=15 maxlength=15 value=><BR>Podatek (np. 0.1803):<BR>
<input type=text name=podatek size=15 maxlength=15 value=><BR>
<input type=submit name=submit value=wylicz> </form> ";
}

if (! isset($_POST['submit']))
print_form();
else
{
$vat = new Java('Vat');
$cena = (double) $_POST['cena'];
$podatek = (double) $_POST['podatek'];
print $vat->Vat($cena, $podatek);
}

?>[/php]

Kod Javy znajduje się w podanym wyżej linku. Wiem że kod mi się skompilował. Mam odpowiedni plik Vat.class jednak nie wiem gdzie powinienem go umieścić żeby to chodziło.Na tamtej stronie piszą, że wystąpienie tego błędu wiąże się pewnie ze złymi ścieżkami w pliku konfiguracyjnym ( mowa o java.class.path). Ja w php.ini mam tak ustawioną linię:
java.class.path = c:\php\extensions\php_java.jar i chyba ma tak być bo inaczej nie mogę uruchomić np. takiego programu
[php]<?php
$systemInfo = new Java("java.lang.System"); print "Liczba sekund od 1 stycznia 1970 (kiedy to było?): " .$systemInfo->currentTimeMillis();

?>[/php]
Próbowałem skopiować plik Vat.class to c:\php\extensions\ ale nic to nie dało
Wersja Javy jaką mam to : j2sdk1.4.1_07.
Wersja PHP to 4.3.4 rozpakowana z zipa.
Może ktoś wie jak zaradzić temu problemowi
iro
Moderator
Posty: 402
Rejestracja: pt gru 19, 2003 8:20 pm
Lokalizacja: Szczecin

Re: [php] PHP i Java

Post autor: iro »

Przydałoby się, gdybyś podał jeszcze całego warninga jakiego Ci wyświetla (tzn. w której linii znajduje błąd). No i oczywiście fragment kodu do którego odnosi się błąd.
cwiru
Nowy
Nowy
Posty: 41
Rejestracja: pt lut 27, 2004 1:47 pm
Lokalizacja: ze Śródziemia

Re: [php] PHP i Java

Post autor: cwiru »

Poniżej ponownie kod oraz komunikaty w linii gdzie występują
[php]<?php

function print_form()
{
print "
<form action=testy_java.php method=post>Cena (np. 10.99):<BR>
<input type=text name=cena size=15 maxlength=15 value=><BR>Podatek (np. 0.1803):<BR>
<input type=text name=podatek size=15 maxlength=15 value=><BR>
<input type=submit name=submit value=wylicz> </form> ";
}

if (! isset($_POST['submit']))
print_form();
else
{
$vat = new Java('Vat'); # Warning: java.lang.ClassNotFoundException: Vat
$cena = (double) $_POST['cena'];
$podatek = (double) $_POST['podatek'];
print $vat->Vat($cena, $podatek); # Fatal error: Call to a member function on a non-object
}
?>[/php]

Może ktoś już poradził sobie z takimi problemami i pomoże.
iro
Moderator
Posty: 402
Rejestracja: pt gru 19, 2003 8:20 pm
Lokalizacja: Szczecin

Re: [php] PHP i Java

Post autor: iro »

A nie powinieneś najpierw includować tego pliku Vat.class??
Bo to wygląda tak, jakby nie mogło stworzyć obiektu, bo nie ma odpowiedniej klasy. Drugi błąd jest następstwem pierwszego. Nie można odwołać się do nieistniejącej funkcji.
cwiru
Nowy
Nowy
Posty: 41
Rejestracja: pt lut 27, 2004 1:47 pm
Lokalizacja: ze Śródziemia

Re: [php] PHP i Java

Post autor: cwiru »

include('Vat.class) nie pomaga. Wówczas wczytuje mi ten plik (widzę jego zawartość na ekranie) a błędy nadal są te same
ODPOWIEDZ