php_curl unter Windows 7 64 Bit

Wer Windows 7 in 64 Bit nutzt und seinen Webserver darauf selbst einrichtet, kennt vielleicht das Problem, wenn er speziellen PHP-Code nutzt, der die Erweiterung cURL zwingend voraussetzt. Dieses lässt sich nämlich nicht einfach aktivieren.
Geht man nach den normalen Tutorials und kopiert die beiden Dateien libeay32.dll und ssleay32.dll aus dem PHP-Verzeichnis nach C:\Windows\System32 und entfernt das Semikolon in der php.ini vor der Zeile extension=php_curl.dll, bringt das nichts, die Erweiterung startet nicht. Stattdessen findet man im error.log des Apache folgende Fehlermeldung:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Program Files (x86)/PHP/ext/php_curl.dll' - Das angegebene Modul wurde nicht gefunden.\r\n in Unknown on line 0
Das Besondere daran ist, dass die Datei unter C:\Program Files (x86)\PHP\ext\php_curl.dll zu 100% vorhanden ist. Alles, was man so über Google findet, beschäftigt sich nur mit einem normalen Windows, die meisten Einträge sind außerdem von 2004 oder noch früher, also nicht mehr aktuell.

Um die Lösung aber dennoch für alle Wartenden schnell zu präsentieren:
  • Die Dateien libeay32.dll und ssleay32.dll müssen in das Apache-Verzeichnis bzw. dort in den bin-Ordner kopiert werden. Bei mir z.B.:

    Quellcode

    1. C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin\libeay32.dll
    2. C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin\ssleay32.dll
  • In die Path-Umgebungsvariable muss der PHP-Installationspfad eingetragen werden. Dies geht folgendermaßen:
    Start -> Rechtsklick auf Computer -> Eigenschaften -> Links auf Erweiterte Systemeinstellungen -> Tab Erweitert -> Umgebungsvariablen... -> Unter Systemvariablen nach der Variablen Path suchen und diesen Eintrag markieren -> auf Bearbeiten... klicken -> alles darin stehen lassen (wichtig), hinten ohne Leerzeichen ein Semikolon einfügen und ebenfalls ohne Leerzeichen den kompletten Pfad des PHP-Installationsverzeichnisses angeben.
    Bei mir hat die Zeile dann diesen Inhalt:

    Quellcode

    1. %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\PHP
  • Danach einfach übernehmen und Apache neustarten.
Ab sofort sollte cURL auch für Windows 7 64 Bit verfügbar sein. Zumindest bei mir hat es so funktioniert.
Über den Autor
Ich bin Webentwickler in Stuttgart und administriere Server seit vielen Jahren. In diesem Blog erstelle ich hauptsächlich Tutorials für andere Webentwickler, Webdesigner und Serveradministratoren.
-------------------------------------------------------------------------------------------------------------------------------------
I’m a web developer in Stuttgart, Germany, and server administrator since many years. This blog mainly contains a tutorial set for other web developer, web designer and server administrators.

1.874 mal gelesen

Kommentare 1

  • wolf2305de -

    Das ein kopieren der DLL's in das System32 nicht funktioniert, ist bei 64bit Betriebssysteme ja auch logisch, denn dort werden die Libraries als 64bit-Version erwartet. Da es sich hier aber um reine 32bit-Librarties handelt, müssen diese durch das WOW64 (Windows on Windows 64bit) Subsystem verarbeitet werden.

    Wenn man vor diesem Hintergrund die o.g. Libraries nun anstatt in's System32 in das SysWOW64-Verzeichnis kopiert, sollte es auch so gehen. Im übrigen gilt dies natürlich für alle Libraries, die in der 32bit Version vorliegen ;)

    Gruß
    Wolf

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen