Mailinglisten-Archive |
Hi Thomas, Thomas Beckmann schrieb: > Hmm, aber das heißt doch, daß Java auf dem Server ausgeführt wird - > oder? Nicht nur über servlets, sondern auch über die Extension (aha - > *dumm guck* - macht nix, muß ich mir'n andermal ansehen) ... > Naja, wahrscheinlich gibt's unter Java Dinge, die mit php nich' gut > geh'n und umgekehrt ... Jepp, alle Javaobjekte, die direkt von PHP angesprochen werden, laufen natürlich da, wo auch das PHP stattfindet - auf dem Server. Wenn man Java von PHP aus ansprechen möchte, erkauft man sich dass mit einem kräftigen Overhead, weil man beide Maschinen im Speicher des Servers braucht. Es gibt zwei Varianten: ext/java - zu benutzen, wenn man ausnahmsweise mal ein Java braucht (z.B. zum nächtlichen Datenupdate einer Java-Anwendung), weil hier eine Java-Maschine durchgestartet wird. IIRC wird diese Maschine danach auch weiterhin im Apache-Child vorgehalten, so dass nicht mit jedem Zugriff eine komplette JVM durchgestartet werden muss - für mehrere Zugriffe ist diese Lösung imho trotzdem nicht zu empfehlen. sapi/servlet - zu benutzen, wenn man viele Requests hat, die viel Java brauchen. Die Servlet-Variante läuft genau umgekehrt zur Extension - hier gibt es keinen Server mit PHP, sondern nur einen Servlet-Server. Ein Servlet-Server kann - wie Java grundsätzlich - über das Java Native Interface direkt auf Bibliotheken des darunterliegenden Betriebssystmes zugreifen - die in zu Maschinencode kompilierten C oder was auch immer vorliegen. Und genauso wird PHP angefasst - als native Betriebssystem- bibliothek, die direkt von Java aus angesprochen werden kann. Und das macht der Servlet-Server, indem er Dateien mit der Endung PHP von einer Funktion dieser Betriebsystem- bibliothek bearbeiten lässt - hinter der sich eben nichts anderes verbirgt als die PHP-Engine selbst. Damit kommt man in den ganzen Komfort, die Javas JVMs mitbringen - Threading, Loadbalancing usw., und damit wird es schneller als die ext/java- Variante - zum Preis der Probleme, die Threads und PHP mit sich bringen, natürlich. Btw. - gibt es jemanden, der sapi/servlet unter ernsthafter Load einsetzt ? Viele Grüße, johann
php::bar PHP Wiki - Listenarchive