Einfaches Java Programm PHP5-fähig machen

Status
Nicht offen für weitere Antworten.

tF

Neues Mitglied
Hallo zusammen,

ich habe eine mehr oder weniger fiese Frage ... Und zwar folgendes:

Code:
public class Main {	
	public static void main(String[] args) {
		String hello = PHP.exec("<?php echo(\"hello world\"); ?>");
		System.out.println(hello);		
	}		
}

Die Ausgabe dieses Programmes soll "hello world" sein.
Mit meiner jetzigen methode funktioniert das auch:

habe die php.exe und die php5ts.dll im selben verzeichnis liegen und starte über einen "Process" in Java die php.exe, übergebe dort per outputstream den code und lese das ergebnis per inputstream wieder ein.

allerdings frisst das mehr ressourcen als mir lieb ist ... ich möchte das gerne so lösen, dass java php als eine art modul einbindet ... so wie es der apache webserver macht ... der ruft nämlich auch nicht bei jeder php geschichte die php.exe auf.

im internet finde ich alles, nur nicht genau diese eine lösung ... im internet find ich nur möglichkeiten, in php java zu benutzen und php über tomcat in java zu benutzen ... dazu sei gesagt, dass ich das gerne OHNE tomcat lösen möchte.

hoffe hier sind einige helle köpfe im forum, die da evtl ein paar ideen haben ... obs möglichkeiten gibt, sone dll in java einzubauen oder ob es evtl andere dlls gibt, die da als schnittstelle dienen könnten ...

mir qualmt mitlerweile schon der schädel... :D
grüße und thx für ideen

andi
 

AlArenal

Top Contributor
Kurzum: Gibts nicht, geht auch nicht "mal so eben", ohne u.a. die INternas von PHP umzukrempeln. Es gibt mit BSF eine Möglichkeit diverse Sprachen an Java anzudocken, bzw. diese zu integrieren, aber dazu müssen beide Seiten einen Schritt aufeinander zugehen.

http://jakarta.apache.org/bsf/

Ich sehe auch nicht warum man versuchen sollte eine Sprache zu vergewaltigen, indem man von hinten durch die Brust ins Auge schießt. Du hast drei Möglichkeiten:

1. Du eignest dir genug Java Know-How an, um nicht auf PHP, o.ä. angewiesen zu sein.
2. Du benutzt eine der zahlreichen mit Java zusammenarbeitenden Skriptsprachen-Implementierungen (Groovy, JRuby, BeanShell, Jyhon, JPython, Tcl, JavaScript, ...), von denen Groovy in Java 7 wohl eh offiziell aufgenommen werden wird.
3. Du wartest bist du alt und runzlig bist, immer in der Hoffnung dass jemand mal PHP als Skript-Engine für Java umdengelt.
 

Leroy42

Top Contributor
AlArenal hat gesagt.:
Groovy in Java 7 wohl eh offiziell aufgenommen werden wird.
:shock:
Verstehe ich das richtig? Java 1.6 gibt es noch gar nicht und da
wird schon an Java 1.7 gebastelt?

Ich werde auf absehbare Zeit nicht darum herum kommen, Utility-packages in
1.4 zu proggen, da es nicht absehbar ist wann unser Provider auf 1.5 umsteigt
und ich nicht gerne 2 Versionen parallel warten will. Geschweige davon, daß
ich, um nicht die gesamte InternetExcluder-Gemeinschaft auszuschließen, mich
bei Applets wohl ewig mit dem AWT herumschlagen muß.

Und die sind schon bei 1.7 :autsch:
 

AlArenal

Top Contributor
Das nennt man Planung.. was sollen denn die ganzen Strategen und Planer machen, wo die 6er Version schon in der Beta ist?

Bei MS wird man sich auch Gedanken drum machen, wie Vistas Nachfolger aussehen wird. D.h. nicht, dass schon alles iin Stein gemeißelt. geschweige den entwickelt ist...

Wenn BMW morgen ein neues Modell rausbringt, kannste auch einen drauf lassen, dass der Nachfolger schon heute in Planung ist.
 

byte

Top Contributor
Leroy42 hat gesagt.:
Ich werde auf absehbare Zeit nicht darum herum kommen, Utility-packages in
1.4 zu proggen, da es nicht absehbar ist wann unser Provider auf 1.5 umsteigt


Du armes Schwein. Mein Beileid... :lol:

Gerade 1.5 ist imo so ne Version, die man - einmal dran gewöhnt - nicht mehr missen will. Zumindest gehts mir so. :roll:
 

Leroy42

Top Contributor
Geht mir auch so!

Und wenn man aus der Programmierecke kommt, die bei Code wie
Code:
for (int i=0; i < stringVar.length(); ++i) ...
noch ein unangenehmes Kribbeln bekommt, dann fühlt man
wann beispielweise Autoboxing/Unboxing auftritt.

Mein Problem ist aber weniger, daß ich nur noch von "unsafed" Warnings
überhäuft werde und es mir einfach widerstrebt, Warnings auszuschalten,
sondern daß der 1.5er Bytecode nicht mehr von 1.4er JREs ausgeführt
werden kann, und ich beim Hochladen auf den Provider immer darauf
achten muß, 1.4er Code zu erzeugen. :(
 

Dukel

Top Contributor
Als ich gestern meine neue IX durchgeblättert habe ist mir folgendes ins Auge gesprungen und ich dachte evtl. kann das dein Problem lösen:
Web-Programmierung Leserbrief
Anwendungsentwicklung mit IcePHP und Icegrid (S. 152)

http://www.zeroc.com/index.html
 

Leroy42

Top Contributor
Hmmh! Wenn das stimmen sollte was RetroWeaver vollmundig verspricht:
1.5-er Java in 1.4-er Bytecode kompilieren zu können, frage ich mich, warum
Sun einen neuen Bytecode eingeführt hat (mußte!?)
 

AlArenal

Top Contributor
Leroy42 hat gesagt.:
Hmmh! Wenn das stimmen sollte was RetroWeaver vollmundig verspricht:
1.5-er Java in 1.4-er Bytecode kompilieren zu können, frage ich mich, warum
Sun einen neuen Bytecode eingeführt hat (mußte!?)

Der kann nur das umwandeln, was auch im alten Bytecode abbildbar ist. Generics z.B. sind kein Problem, weil es nur ne zusätzliche Typ-Checkung (nettes Denglisch) beim Kompilieren ist und kein zusätzlicher Bytecode. Sobald du 1.5er API verwendest, bringts dich natürlich nicht weiter.
Supported 1.5 Language Features

* generics
* extended for loops
* static imports
* autoboxing/unboxing
* varargs
* enumerations
* annotations
 

AlArenal

Top Contributor
Leroy42 hat gesagt.:
1.5-er Java in 1.4-er Bytecode kompilieren zu können, frage ich mich, warum
Sun einen neuen Bytecode eingeführt hat (mußte!?)

Warum kann mein Pentium M mehr Befehle verstehen als ein Pentium, obwohl meine Software auch auf nem Pentium läuft? ;)
 

Leroy42

Top Contributor
Wenn ich dich richtig verstehe, willst du darauf hinaus, daß der 1.5-er Byte-Code

a) performanter (in welcher Hinsicht auch immer) ist und

b) Möglichkeiten bietet die in einer späteren Java-Version genutzt werden.

Ich schreibe später, da nach der Werbung dieser Retro-Weaver-Macher
ja die 1.4-er JVM alles was 1.5 bietet ja auch ausführen lassen kann.
 

AlArenal

Top Contributor
Es gibt diverse Änderungen am Bytecode für 1.5, aber wohl nicht derart, dass man diese nicht auch in 1.4 ausdrücken kann. Sie dienen vermutlich nur dazu den Code kleiner zu machen und die Umsetzung in Machinensprache besser optimieren zu können.

Ich kann ja auch von Hand den Sinus eines Werts berechnen, ohne eine vorgegebene Sinus-Funktion zu nutzen.

So lange diese Abbildung auf älteren Bytecode möglich ist, kann es auch entsprechend umgedengelt werden. Was natürlich ncih geht ist auf neuere API zuzugreifen. Dazu müsstest du die neue API ebenfalls 'retroweaver'....

Kannst dir ja mal die VM Specs durchlesen und mir dann erzählen, was drin steht:
http://java.sun.com/docs/books/vmspec/
 

Leroy42

Top Contributor
:shock: Soviele Buchstaben hintereinander und keine Bilder? :shock:

[schild=7 fontcolor=000000 shadowcolor=C0C0C0 shieldshadow=1]Ich ziehe meine Frage zurück![/schild]
 

AlArenal

Top Contributor
Seltsamerweise scheint PHP bzgl. JSR223 unterzugehen. Zumindest aus Sicht von jemandem, der gerne alle möglichen Blogs durchpflügt, war PHP bisher nie ein Thema. Man spricht über Groovy, Jython, JRuby, BeanShell, Rhino, ... erst gestern las ich etwas über einen Port von AWK. Aber PHP? Fehlanzeige.

Schon komisch.

P.S.:
Präziser müsste ich natürlich sagen: Keiner spricht/schreibt/publiziert darüber, außer dir ;)
 
Wahrscheinlich wirken da noch klassische Feindbilder nach. ;-) Sowohl von PHP- als auch von Java-Seite.

Wenn ich den Traffic bzgl. des Themas auf meiner Webseite verfolge, dann ist es ein relevantes Thema. Aber der Support seitens der beteiligten Parteien, ob nun Zend oder wer auch immer, ist einfach nur schlecht. Warum ist mir ein Rätsel.

PS: Meine Website ist kein Blog.
 

AlArenal

Top Contributor
Die Erwähnung von Blogs bezog sich auch nicht auf deine Website. Nur habe ich hier rund 90 Blogs in meinem BlogBridge und da ist mir nie was untergekommen über eine Integration von PHP in Java.

Da ich derzeit u.a. auch wieder etwas mit PHP arbeiten muss, um meine Serveranbindung über XML-RPC auf vordermann zu bringen, kann ich das auch dahingehend nachvollziehen, dass PHP4 (müssen auf viele vorhandene Installationen Rücksicht nehmen) für einen Java-Coder doch schon extrem heftig ist. OO ist ein schlechter Scherz, statt eines Exception-Mechanismus ist man auf sich selbst gestellt, das ewige Prüfen auf Typen und Umwandeln, .. schrecklich. Und das sage ich, obwohl ich zuvor jahrelang meine Brötchen mit PHP verdient habe.
Mit PHP5 sähe es wieder anders aus und einige Probleme hätte ich wohl mit beinahe jeder Skriptsprache. Aber für alle, die z.B. Java als erste Sprache hatten, kann ich mir gut vorstellen, dass denen PHP ein Graus ist. Zumal integrierte Funktionen mal überhaupt nicht intuitiv sind, weder in der Namensgebung (Hallo, Camel-Case??), noch in der Reihenfolge der Parameter. Da findet man auch im JDK einige nicht zu Ende gedachte Klassen, aber wenigstens haben wir ne eindeutige Code Completion und keine Liste von Vorschlägen, weil die IDE gerade keinen Dunst hat, von welchem Typ meine Variable ist ;)

Quintessenz: Ich kann Berühungsängste und Vorurteile von beiden Seiten aus verstehen und auch zu einem gewissen Grad nachvollziehen. Java und PHP sind grundverschieden. Mit PHP5 kann man zwar viele Mängel beseitigen, aber der alte Muckefuck ist eben noch immer drin. Vielleicht wäre es ratsam gewesen PHP5 komplett neu zu entwickeln, inkl. API und alte Zöpfe abzuschneiden. Soweit ich gehört habe machen es die Python-Leute so. In den Dev-Versionen testen sie auch mal neue Sachen und wenns nix bringt oder geändert werden muss, dann ändern die es auch im Nachhinein.

Ich glaub, ich schweife ab ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Einfaches Installer/setup tool für java programme das. Allgemeine Java-Themen 4
F Einfaches Beispiel mit Netty Socket.IO Allgemeine Java-Themen 6
temi Einfaches Eventhandling führt zu Brett vor Kopf Allgemeine Java-Themen 2
S Einfaches Programm programmieren Allgemeine Java-Themen 5
K Einfaches Array in 2 neue aufteilen. Allgemeine Java-Themen 2
A Lotto, einfaches Problem? Allgemeine Java-Themen 11
E einfaches Beispiel zu MVC und Sinn V --> M ? Allgemeine Java-Themen 22
M einfaches Lagerverwaltungsapp Allgemeine Java-Themen 4
Gossi Threads Suche ein (einfaches) Beispiel Allgemeine Java-Themen 5
E Beispiel für ein möglichst einfaches Interface Allgemeine Java-Themen 22
V Ganz einfaches MVC-Beispiel?! Allgemeine Java-Themen 107
E Einfaches Problem mit Tomcat Allgemeine Java-Themen 18
D Einfaches Nutzen von Plugins mittels generischer Methode Allgemeine Java-Themen 3
E (einfaches) Problem mit import und package (export) Allgemeine Java-Themen 4
J Einfaches AspectJ Beispiel Allgemeine Java-Themen 2
reibi javax.crypto.SecretKey - Einfaches Beispiel gewünscht ;-) Allgemeine Java-Themen 2
V Suche einfaches JasperReports Tutorial Allgemeine Java-Themen 23
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7
N LlaMA, KI, java-llama.cpp Allgemeine Java-Themen 39
V Java-Codierungsherausforderung: Navigieren durch die Macken der Datumsmanipulation Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
M java: unexpected type Allgemeine Java-Themen 2
harrytut Java Input/Output Tests Junit Allgemeine Java-Themen 3
B Java Discord bot auf ein Root Server? Allgemeine Java-Themen 1
BetziTheRealOne Java PKIX path building failed as non Admin Allgemeine Java-Themen 15
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
KonradN Java 21 Release Allgemeine Java-Themen 5
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
K Java Anwendung machen Anleitung Allgemeine Java-Themen 5
G java.io.listFiles() Allgemeine Java-Themen 3
8u3631984 Frage zu Java Streams min / max Allgemeine Java-Themen 17
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
K Java-Projekt Allgemeine Java-Themen 11
K Java-Projekt Allgemeine Java-Themen 0
ruutaiokwu Welcher Browser unterstützt heutzutage noch Java Applets? Allgemeine Java-Themen 5
Jose05 Java-Klasse im extra cmd-Fenster ausführen Allgemeine Java-Themen 3
rode45e Java Threads Allgemeine Java-Themen 4
G java.io.listFiles() Allgemeine Java-Themen 2
N Java Dynamic Proxy Allgemeine Java-Themen 3
N Leichte Java Gegner Ki Allgemeine Java-Themen 10
A Java modul Problem Allgemeine Java-Themen 4
Thomasneuling Java Jar datei erstellen, von Projekt, dass auch Javafx Dateien, FXML Dateien und CSS Dateien, sowie Bilder enthält? Allgemeine Java-Themen 14
V Funktionale Schnittstelle in Java Allgemeine Java-Themen 3
OnDemand Java String in Hashmap als Key NULL Allgemeine Java-Themen 27
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
berserkerdq2 Wenn ich bei Intelij javafx mit maven importieren will, muss ich das in die pom.xml reintun, aber warum noch in module-info.java? Allgemeine Java-Themen 3
KonradN Java 20 am 21. März Allgemeine Java-Themen 1
O Java Website Stock Bot Allgemeine Java-Themen 3
J Front-/Backend in Java Allgemeine Java-Themen 14
doopexxx JAVA Google Webcrawler Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
G java.lang.NoClassDefFoundError: org/aspectj/lang/Signature Allgemeine Java-Themen 2
lalex1491 Java Aktienkurse nachfragen Allgemeine Java-Themen 4
J Class to link Java Allgemeine Java-Themen 4
V Wie funktioniert das Schlüsselwort "final" von Java? Allgemeine Java-Themen 19
mrStudent Inferenz JAVA Allgemeine Java-Themen 6
U URI Rechner (Java Script) Allgemeine Java-Themen 7
TheSkyRider Java Geburtsdatum Textfeld Allgemeine Java-Themen 7
mihe7 Java 19 JavaDocs: Browserintegration Allgemeine Java-Themen 0
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
H Java Rechner Programmierung der Mathematik Allgemeine Java-Themen 33
Lennox Schinkel Java Kara Auf einen Java Host laufen lassen Allgemeine Java-Themen 17
C Fußnoten von DocX mit Java Allgemeine Java-Themen 2
C Fußnoten in DocX mit Java Allgemeine Java-Themen 1
M Aussagenlogik in Java Programmieren Allgemeine Java-Themen 22
B Per Java Word Dokument schreiben? Allgemeine Java-Themen 8
krgewb Java-Bibliothek für ONVIF Allgemeine Java-Themen 1
KonradN Oracle übergibt (Java Teile der) GraalVM Community Edition an OpenJDK Community Allgemeine Java-Themen 2
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
B Java mit command line und jars benutzen? Allgemeine Java-Themen 18
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
B HTTP Allgemeine Fragen über Suchmaschine nutzen mit Java Allgemeine Java-Themen 20
Mick P. F. Wie kriege ich die Fehlermeldung "java: symbol lookup error: ..." weg? Allgemeine Java-Themen 11
K Nachhilfe Java Allgemeine Java-Themen 11
KonradN Java 19 Allgemeine Java-Themen 11
F IDEA IntelliJ Java Songliste erstellen Allgemeine Java-Themen 6
TheSepp Java bestimmtes Array auf den Wert 0 setzen Allgemeine Java-Themen 32
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
Sachinbhatt Sind alle Methoden in Java implizit virtuell Allgemeine Java-Themen 2
E Java und integrierte Grafikkarten Allgemeine Java-Themen 18
Sachinbhatt Wie wird die Typumwandlung bei Mehrfachvererbung in Java implementiert? Allgemeine Java-Themen 3
Peterw73 Hilfe bei Java gesucht Allgemeine Java-Themen 3
A Java unter Win 10 Allgemeine Java-Themen 1
B Woher kommen die Bildschirmkoordinaten beim java Robot? Allgemeine Java-Themen 14
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
T Java Robot Class - Bot Allgemeine Java-Themen 3
E Wie Java Heap Space vergrößern? Allgemeine Java-Themen 3
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
izoards Java Home Pfad unabhängig von der Version Allgemeine Java-Themen 7
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
KonradN CVE-2022-21449: Fehler in Java bei Signaturprüfung Allgemeine Java-Themen 20
berserkerdq2 Java sql Allgemeine Java-Themen 15
JordenJost Unverständlicher Java code? Allgemeine Java-Themen 21

Ähnliche Java Themen

Neue Themen


Oben