Um Eclipse 64bit Version zu installieren, braucht man neben einem 64bit System auch java JRE 64bit. Hat man nur die 32 bit Version installiert, liegt diese in einem Java Ordner in Programme (x86). Bei der Installation kopiert Java die wichtigsten Dateien der JRE auch in das C:\Windows\SysWOW64. Das sind dennoch nur die 32 bit Dateien.
Man lädt die JRE von der bekannten Java Seite bei Oracle als 64bit Version runter und installiert diese. Um Eclipse 64bit mitzuteilen wo die 64bit Java Version liegt kann man beispielsweise in der Eclipse.ini (direkt im Eclipse Verzeichnis) eintragen:
-vm C:/Program Files/Java/jre1.8.0_25/bin/javaw.exe
Debug von Web-Anwendungen in Eclipse
Debuging in Eclipse geht gut mit xDebug (frei verfügbare library). Installiert man seine Apache Entwicklungsumgebung mit WAMP hat man xDebug automatisch dabei. Die DLL liegt im PHP Unterverzeichnis ./zend_ext/ (Stand: Oktober 2014). Ist xDebug korrekt vom Apache geladen, sieht man in der phpinfo() xDebug als eingetragenes geladenes Modul.
In Eclipse muss man eine Debug-Configuration für PHP Web-Page anlegen. Dort xDebug als den Debugger eintragen. Nutzt er einen anderen Port als den default 9000 muss das hier oder in den Eclipse Preferences bei PHP, Debugger eingestellt werden.
Wählt man in der Debug-Configuration einfach nur ein php-file aus seinem aktuellen Projekt springt der Debugger dort beim Starten der Debug Session direkt rein. Für Web-Anwendungen, die php Skripte über Ajax aufrufen bringt das jedoch nix, da die Get/POST Parameter vom Aufruf fehlen. Hierfür gibt es zwei Möglichkeiten.
Erstens, man nutzt den internen Eclipse Browser. Dafür gibt man in der Debug-Configuration nicht die PHP Datei sondern die website an, von der aus der Aufruf (ajax) erfolgen wird (index.html). In dem Ajax Aufruf des zu debuggenden php skriptes fügt man als Parameter folgendes an: … + ‚&XDEBUG_SESSION_START=ECLIPSE_DBGP‘ + … Dadurch wird der xDebug aufgerufen sobald dieser Ajax Aufruf erfolgt. Startet man die Debug Session wird die Website im Eclipse angezeigt. Sobald der Ajax Aufruf (durch eine Nutzereingabe etc.) erfolgt, springt der Debugger in den php Code.
Zweitens, man nutzt seinen Lieblingsbrowser. Es gibt für die wichtigsten Browser eine Erweiterung (von xDebug), die xDebug automatisch aufruft und in den php Code im Eclipse springt: http://xdebug.org/docs/remote#browser-extensions. Hat man die Erweiterung installiert muss man ihr noch den IDE Key geben, der spezifiziert welche IDE zum debug genutzt werden soll. Das geht in den Einstellungen der Erweiterung. Für Eclipse gilt folgender key: ECLIPSE_DBGP. Das ganze funktioniert aber nur wenn man aktuell im Eclipse eine Debug Session im betreffenden Projekt bereits laufen hat (egal ob für die html seite oder eines der php skripte). Wichtig ist, dass die Debug Session nicht mit dem roten Button beendet (terminate) wurde.
Wichtig: Die xDebug Erweiterung muss in dem jeweiligen Browser den man nutzt erst aktiviert werden. Damit ist nicht die generelle Aktivierung der Erweiterung in den Browser Einstellungen gemeint. xDebug hat ein eigenes Icon in der Browserleiste oben, mit welchem man das Debugging tatsächlich aktiviert.
Achtung: In der php.ini, die über das PHP Menü von WAMP direkt geöffnet werden kann gibt es für die XDEBUG Extension eine Zeile, die den Host festlegt, welcher zum Debug angesprochen wird: xdebug.remote_host = my-local-host.dev. Diese Einstellung ist bei mir nicht ausschlaggebend. Das Debuggen aus dem Browser in Eclipse hinein funktioniert auch wenn ich eine php Seite auf einem anderen lokalen Host aufrufe.