Apache, PHP, MySQL & Co: Meine Entwicklungsumgebung

Neuer Rechner, neue Entwicklungsumgebung. Dieses mal gibt es einen Einblick in meine EWU und deren Aufbau. Zum Einen damit ich der nächsten nötigen Installation gleich alle Quellen und Schritte zusammen habe, zum Anderen damit andere vielleicht auch noch etwas davon haben.

Was will ich haben?

Auf einem Windows Vista Laptop sollen ein Apache 2.2 mit PHP 5.3, MySQL 5.1 laufen. Ich brauche phpMyAdmin. Außerdem will ich Eclipse als IDE und das Zend Framework nutzen. Folgende Pakete benötige ich: XAMPP 1.7.3 (darin enthalten: Apache 2.2.14 (IPv6 enabled) + OpenSSL 0.9.8l, PHP 5.3.1, Perl 5.10.1, MySQL 5.1.41, phpMyAdmin 3.2.4, FileZilla FTP Server 0.9.33 und Mercury Mail Transport System 4.72), sowie SAP RFC 1.4.1, Eclipse Galileo PDT, Zend Framework 1.9.6 und vielleicht noch xDebug, mal sehen.

Also auf geht’s:

XAMPP 1.7.3

Die Basis: Der Apache-Webserver mit PHP und MySQL. Kann man alles einzeln installieren oder sich einfach bei XAMPP als Paket besorgen und mit der Installation das meiste auf einen Schlag haben. Etwas eigenwillig ist die Angabe des Installationspfades: Statt das tatsächliche Ziel c:\xampp anzugeben, nimmt man c: um Xampp in c:\xampp zu bekommen.
Die Installation in c:\xampp empfiehlt sich aus mehreren Gründen:

  1. ist es die Standardeinstellungen (und Standards findet man als Webentwickler ja gut *grins*)
  2. war zumindest in früheren Versionen so, dass ein paar config-Files von c:\xampp ausgingen. Installierte man in ein anderes Verzeichnis, wurde das config nicht angepasst und irgendwas funktionierte nicht. PEAR ist so ein Beispiel.
  3. gibt es unter Vista deutlich weniger Probleme mit der UAC

Der Grundstock ist somit gelegt. Ah!

SAP RFC 1.4.1

Die SAP RFC extension for PHP gibt es bei SourceForge. Im ZIP-Paket findet man unter /ext/ diverse DLL-Dateien. php_saprfc_530.dll ist die Thread-Safe-Variante, die ich in c:\xampp\php\ext kopiere.

Anschließend editiere ich c:\xampp\php\php.ini: Rund um die Zeile 950 stehen da x-fach: extension=php_irgendwas.dll. Knapp über [PECL] füge ich eine Zeile hinzu: extension=php_saprfc_530.dll

Außerdem muss ich noch die librfc32.dll in c:\windows\system32 kopieren, da ich die SAPGUI nicht installiert habe. Bah :-(
Die DLL ist Teil der “SAPGUI für Windows”, ist aber auch separat im SAP Service Marketplace erhältlich.

Eclipse Galileo PHP Development Tools (PDT)

Als IDE nutze ich schon seit gefühlten Ewigkeiten Eclipse. Und das soll auch so bleiben. Also her mit den Eclipse Galileo PHP Development Tools (PDT) und in c:\xampp\eclipse installiert, damit ich dann alles für die Webentwicklung unter einem Verzeichniszweig habe.

Den Workspace lege ich auf c:\xampp\htdocs fest.

Zusätzliche Plugins:

Subversive SVN Connectors Site  (http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/)
Eclipse PTI (http://www.phpsrc.org/eclipse/pti)

Zend Framework 1.9.6

Das Zend Framework kommt bei mir in c:xamppZendFramework.

In c:\xampp\php\php.ini muss ich jetzt noch den include-Path anpassen. So wird aus
include_path = ".;C:\xampp\php\PEAR"
ein
include_path = ".;C:\xampp\php\PEAR;C:\xampp\Zend\Framework\library;C:\xampp\Zend\Framework\extras\library"
.

Jetzt noch C:\xampp\Zend\Framework\bin mit in die Windows-PATH-Variable aufgenommen und es kann (fast) losgehen.

xDebug

Da wollte ich schon die DLL für xDebug herunterladen, ins ext-Verzeichnis legen und die php.ini anpassen und stelle dann fest, XAMPP liefert das schon mit. Also nur noch in der php.ini bei Zeile 1009 das Semikolon am Zeilenanfang entfernt (s.u.) und Apache neu gestartet. Fertig :)
zend_extension = "C:\xampp\php\ext\php\_xdebug.dll"

Autor

Karsten Krohn ist über 10 Jahre PHP-Entwickler mit starker Affinität zu Triathlon und Fotografie. Auf krohnmedia.de schreibt er über Web-Entwicklung und Triathlon und zeigt das eine oder andere Foto.
Karsten ist auch bei Twitter und Google+ zu finden.
  • Fritz

    Hallo H.Karsten Krohn,

    ungefähr so habe ich die Installation auch vorgenommen. Meine Frage, gibt es keine Probleme mit der php_saprfc_530.dll.
    Ich habe nach wie vor die Meldung
    unable to initialize module
    module compiled with build ID =API20090626, TS
    PHP compiled with built ID=API20090626,TS,VC6 these option need to match

    Das heisst wohl, dass die php_saprfc_530.dll nicht mit visual Studio 6 compiliert wurde.

    Da ich nicht weiter komme wäre eine Antwort für mich Gold wert.

    Danke, fritz Weichsel

    • http://krohnmedia.de/ Karsten Krohn

      Hallo Fritz, ist schon richtig, ab und an schmiert mir der Apache ab. Leider so unkontrolliert, dass ich noch nicht ausmachen konnte, ob xdebug oder die saprfc der “Übeltäter” ist. Deine Fehlermeldung habe ich so nie gehabt.
      Aktuell muss ich nirgends auf SAP zugreifen, aber spätestens in 2 Monaten wird es wieder akut. Wenn ich dann Änderungen an meiner Umgebung vornehmen muss, weder ich hier darüber schreiben.

      • Ben

        Ich habe die selbe Meldung wie Fritz. Karsten welches OS nutzt du denn?

        • http://krohnmedia.de/about/ Karsten Krohn

          Hi Ben, dass war “damals” ein Windows Vista. Ich meine mit SP1, bin aber unsicher.

  • Fritz

    Hi Karsten,
    danke für die Antwort
    Bis denne, Fritz

  • Axel Arnold Bangert

    Hi Karsten,
    die letzte Kompilation ist ja nur für php 5.2.8. Ich versuche gerade für 5.3.9, also für den neuen Zend Server CE zu kompilieren.

    Hast Du oder sonst jemand damit Erfahrung? Hier ist ein Screenshot.

    An diesem Fehler hängt Alles:
    rfc_rc = SAL_GET_DATA (rfc_handle, function_module);

    error: saprfc.cpp(198) : error C2440: ‘=’ : cannot convert from ‘int’ to ‘RFC_RC’

    Liebe Grüße
    Axel Arnold Bangert – Herzogenrath 2012

    • http://www.google.com/profiles/105140567274332490863/ Karsten Krohn

      Hi Axel,
      irgendwie ist dein Screenshot “flöten” gegangen…
      Selbst kompiliert habe ich das Ding noch nicht und wie Du am Artikeldatum (17.01.2010) erkennst, ist das Ganze schon etwas her. Den Rechner und diese Entwicklungsumgebung hat sich zwischenzeitlich “überholt”, mit SAP brauche ich nicht mehr “sprechen”.
      Aber hast Du schon mal drüben in Anindya’s Blog (http://www.anindya.com/php-5-3-8-x64-64-bit-for-windows/) geschaut? Vielleicht hilft es Dir weiter.

      [Edit] Sorry, vergiss es. Sehe gerade, es wird Dich kein Stück weiterbringen. Man sollte keine Kommentare beantworten, wenn man so müde ist, wie ich gerade. [/Edit]

  • https://sourceforge.net/p/saprfcsdk/wiki/SAPRfcSdk%20-%20Axel%20Arnold%20Bangert%20-%20Herzogenrath%202012/ Axel Arnold Bangert

    Hi Karsten,
    das Kompilationsproblem habe ich gelöst. Ich werde jetzt für PHP 5.3.10 und rfcsdk 7.2.0 (also auf den aller neuesten PHP und SAP Stand) für Zend-Server-CE kompilieren.

    Die erste php5.3.9 NTS dll für den aktuellen Zend-Server-CE findest Du hier:
    https://sourceforge.net/projects/saprfcsdk/files/

    Beste Grüße
    Axel Arnold Bangert – Herzogenrath 2012

Nächste Wettkämpfe

  • 03.06.2012:
    Wasserstadt Limmer (MD)
  • 24.06.2012:
    Seepark Triathlon Bad Bodenteich
  • 11.08.2012:
    Glücksburger Förde-Crossing