2009-07-26 1 views
0

Ich habe das woanders gefragt, aber die Leute dort scheinen nicht zu verstehen, wovon ich spreche.Kann ich PHP-Erweiterungen in Fenstern hinzufügen, die keine DLL-Dateien sind?

Als ich in der PECL Website zu gehen, fanden alle Erweiterungen dort innerhalb TGZ-Dateien sind.
Das ist kein Problem, jedes moderne Archivierungsprogramm kann es öffnen.

Im Inneren ist immer eine TAR-Datei und im Inneren, die die Quelldateien sind. Also, was mache ich damit? Ich bin besonders daran interessiert, die pecl_http-Erweiterung zu verwenden, aber ich bin mir nicht sicher, was ich tun soll.

Hinweis: Es gibt keine DLL-Dateien in den TAR-Dateien. Nichts, nicht ein einziges. Sie finden nur C-Code und C-Header.

+0

Sie könnten versuchen, DLLs zu verwenden, die für frühere Versionen von PHP kompiliert werden, wenn Sie sie haben. Einige funktionieren möglicherweise (es hängt davon ab, auf welchen Teilen der Laufzeit sie sich anmelden). – troelskn

Antwort

4

Wenn dort nicht vorgesehen .dll, haben Sie es zu kompilieren :-(

Es gibt eine pecl4win Website vor einiger Zeit war, aber es ist nach unten, und der neue http://windows.php.net/ haben keine Erweiterungen auf sie noch (es gibt Arbeit geht, aber Windows ist nicht die Plattform für PHP-Entwickler, noch Core-Entwickler, so ist es nicht wirklich schnell gehen)

Sie sagen:.

gibt es keine DLL-Dateien innerhalb der .TAR Dateien. Keine, keine einzige one. Alles, was Sie finden, ist C-Code und C Header.

was bedeutet, dass Sie die Erweiterung selbst :-(kompilieren müssen (vielleicht werden Sie Glück haben, und eine DLL irgendwo finden, dass Ihre PHP-Version passt, einige Erweiterungen, wie Xdebug, haben diejenigen auf ihre offizielle Website, zumindest für die aktuellen Versionen von PHP ... Aber es ist nicht immer der Fall :-()

eine PECL-Erweiterung mit Windows zu kompilieren, können Sie einen Blick auf diesen Links führen:

Wie dem auch sei ... Viel Glück ...

Als Nebenbemerkung: Wenn ich mich richtig erinnere, der Installer PHP für Windows hat einige PECL-Erweiterungen gebündelt in; vielleicht ist dieser eine davon?

+0

Danke für die Links. Ich benutze WAMPserver, und es ist seltsam zu finden, wie ihre Version für 5.2.9-2 hatte 117 Erweiterungen und ihre Version für 5.3.0 hat 31 Erweiterungen ... – KdgDev

+0

Die Dinge verbessern sich auf der Vorderseite von Windows, aber du bist absolut richtig; Es ist immer noch ein zweitklassiges Betriebssystem in der PHP-Welt. – troelskn

+0

@WebDevHobo> Ich habe PHP schon lange nicht mehr unter Windows installiert, aber vielleicht liegt es daran, dass PHP 5.3 noch jung ist (es ist immerhin eine ".0"), was vielleicht nur ein paar Erweiterungen erklärt, die genug getestet wurden von einem "offiziellen" Kanal verteilt werden. @troelskn> in der Tat ... Eine Lösung könnte (wenn Ihr Computer gut genug ist), Apache + PHP in einer virtuellen Maschine (unter Verwendung von VMWare oder VirtualBox), Linux, und behalten Sie Ihre IDE, Browser und alles andere an eurer Windows "echten" Maschine ... Besser von den zwei Welten, als würde man sagen ^^ –

1

Plugins sind fast immer implementiert unter Verwendung einer gemeinsam genutzten Bibliothek (auch bekannt als dynamische Bibliothek), die Funktionen enthält, die zur Laufzeit dynamisch geladen werden. Unter Windows sind Shared Libraries DLLs, weshalb alle Erweiterungen (z. B. Plugins) für PHP in Form einer oder mehrerer DLL-Dateien vorliegen. Wenn Sie den Quellcode für ein Plugin erhalten, müssen Sie den Quellcode in einer DLL oder in DLLs erstellen (z. B. kompilieren und verknüpfen).

Wie genau Sie den Quellcode erstellen, hängt vom jeweiligen Plugin ab. Ein gut gestaltetes Quellpaket wird mit einer "README" -Datei geliefert, die genau erklärt, wie das Paket aufgebaut wird.Wenn das Paket eine Datei mit dem Namen „konfiguriert“ enthält und eine andere namens „Makefile“, dann ist der Build-Prozess fast immer aufzurufen:

 
./configure 
make 
sudo make install 

Unter Windows über die Befehle müssen würden Cygwin aufgerufen werden. Wenn das Paket eine Visual Studio-Projektdatei enthält, können Sie wahrscheinlich das Build des Quellpakets verwenden.

2

Es SIND pecl Bibliothek Sammlungen für Windows, und sie sind entweder angehängt (als separater Link) auf PHP Download-Seite (mit dem Namen XYZ-win32-pecl.zip oder ähnlichem), oder irgendwie verbunden ist (zum Beispiel, Das neueste PHP5 kann PECL aus dem vorherigen 5.X-Setup verwenden, und es steht auf der Download-Seite).

Wenn Sie nur Quellcode erhalten, müssen Sie diese selbst erstellen.

a) herunterladen PHP-Quellcode (viele Header erforderlich, um die Libs zu bauen und verknüpfen sie auf Windows PHP),

b) Laden Sie die gewünschten Erweiterungen zu bauen, und sie in/phpsource/src/ext/Ordner,

c) bereiten Sie das C/C++ IDE (ich ziehe VisualC verwenden ++ 6.0 für den alleinigen Zweck der PHP-Erweiterungen unter Windows zu schreiben)

d) einen Build environ machen, und schließlich

e) bauen ;-)

Beachten Sie, dass Sie PHP [ver] debug_ts.lib oder PHP [ver] release_ts.lib benötigen, um sie richtig zu verknüpfen.

Es sei denn, Sie bauen sie für PHP 4.4.4 (die ich verwenden, um .exe-Anwendungen mit BamCompile zu entwickeln - ein Umweg, aber es funktioniert magisch), in diesem Fall senden Sie einfach Ihren Quellcode an mich Ich baue es für Sie, wenn ich Zeit habe. ;-) Auch die Chancen stehen gut, dass die Erweiterung, die Du suchst, bereits eine HAS dafür gebaut hat. Nimm einfach den Namen der Erweiterung und suche Google nach "php_ NameOfTheExtension .dll PHP YourPHPVersionNumber" und Du wirst es vielleicht finden (obwohl einige, wie php_openAl.dll nicht als .dll existieren).

+0

Beziehen Sie sich auf diese Webseite: http://us2.php.net/get/pecl-5.2.6- Win32.zip/from/a/spiegel ??? – KdgDev

Verwandte Themen