Ben DLL dosyaları değil pencere üzerinde PHP uzantıları ekleyebilir miyim?

3 Cevap php

Ben başka yerde sordum, ama orada insanlar bahsediyorum anlamak için görünmüyor.

When I go to the PECL website, all extensions found there are inside TGZ files.
Which is not a problem, any modern archiving program can open it.

Inside is always a .tar file and inside that are the source files. So, what do I do with that? I'm particularly interested in using the pecl_http extension, but I'm not sure what to do.

Not:. TAR dosyaları içinde hiçbir DLL dosyaları vardır. Yok olursa olsun, tek bir tek. Bulmak Tüm C kodu ve C başlıkları olduğunu.

3 Cevap

Sağladı. Dll yoksa, sen :-( derlemek zorunda

Orada bir pecl4win web sitesi bir süre önce, ama aşağı değil; ve yeni gerçekten hızlı gidiyor değil bu yüzden http://windows.php.net/) bunun henüz PHP geliştiricilerin için seçim (there is work going on, but windows is not the platformu, ne de çekirdek geliştiricilerin, uzantıları yok.

Bunu söylemek:

there are no DLL files inside the .TAR files. None whatsoever, not a single one. All you find is C code and C headers.

Hangi uzantısını kendiniz :-( (maybe you'll get lucky, and find a .dll somewhere that fits your version of PHP ; some extensions, like Xdebug, ...) kendi resmi web sitesinde, en azından PHP son sürümleri üzerinde olanlar var Ama :-( her zaman böyle değil

Pencereli bir PECL eklentisini derlemek için, bu bağlantılara bir göz atabilirsiniz:

Neyse ... İyi şanslar ...

Bir dipnot düşmek gibi:; eğer doğru hatırlıyorsam, pencereler için PHP'nin yükleyici bazı PECL uzantıları birlikte vardır belki bu bir bu biridir?

Orada ARE Windows için pecl kütüphane koleksiyonları, ve onlar da (XYZ-win32-pecl.zip veya benzer isimli) PHP indirme sayfasında (ayrı bir link olarak) eklenir, ya da bir şekilde (örneğin bağlantılı konum, ) son PHP5 önceki 5.X kurulumdan PECL'de kullanabilir ve indirme sayfasında öyle diyor.

Alacağınız tüm kaynak kodu ise, Bu kendiniz oluşturmak gerekir.

a)) kütüphanelerini oluşturmak ve Windows üzerinde PHP onları bağlamak için gerekli başlıkları bir sürü (PHP kaynak kodu indir,

b) inşa etmek istediğiniz uzantıları indirmek ve / phpsource / src / ext / klasöre koyun,

c) Sizin sevdiğiniz C / C + + IDE hazırlamak (Windows üzerinde PHP uzantıları yazma amacıyla VisualC + + 6.0 kullanmayı tercih)

d) nihayet bir yapı environ yapmak ve

e) inşa ;-)

Düzgün onları bağlamak için [ver] debug_ts.lib veya PHP [ver] release_ts.lib PHP gerekir dikkat etmeyin.

Sen (. Ben BamCompile kullanarak geliştirmek için exe uygulamaları kullanmak hangi - dolambaçlı bir yol, ama o sihirli çalışır) PHP 4.4.4 için onlara bina konum sürece, hangi sadece bana Sizin kaynak kodu göndermek durumda, ben bunu inşa edeceğiz Ben zamanınız varsa. ;-) Ayrıca şans, zaten onun için inşa HAS bir. Dll arıyorsanız uzantısı vardır. Sadece uzatma adını alır ve "PHP_ * NameOfTheExtension *. Dll PHP * YourPHPVersionNumber *" için Google arama ve (php_openAl.dll gibi, bir kaç. Dll olarak var olmasa da) sadece onu bulabilirsiniz.

Eklentiler hemen hemen her zaman çalışma zamanında dinamik olarak yüklenen işlevleri içeren, paylaşılan kütüphane (aka dinamik kütüphane) kullanılarak uygulanır. Windows'ta, paylaşımlı kitaplıklar PHP için tüm uzantıları (yani eklentileri), bir veya daha fazla DLL dosyaları şeklinde gelmiş neden olduğu, DLL. Bir eklenti için kaynak kodu verilir, bir DLL veya DLL içine (yani derlemek ve bağlamak) kaynak kodu oluşturmak gerekir.

Eğer kaynak kodu oluşturmak tam olarak nasıl belirli eklenti bağlıdır. İyi tasarlanmış bir kaynak paketi "README" dosyasında paketini oluşturmak için tam olarak nasıl açıklayan ile gelecek. Paket "yapılandırma" ve "Makefile" adlı başka bir adında bir dosya varsa, o inşa sürecinin çağırmak için hemen hemen her zaman:

./configure
make
sudo make install

Windows'ta, yukarıdaki komutları Cygwin kullanarak çağrılması gerekir. Paketi Visual Studio proje dosyası varsa, o zaman muhtemelen kullanabileceğiniz yapı kaynak paket olduğunu.