2010-01-12 22 views
15

Burada ilgili birkaç yazı buldum ama cevabımı alamadım. Yani yeniden gönderme.
Pencerelere nasıl bir PECL uzantısı kurabilirim? Windows XP'de PECL oAuth uzantısını istiyorum.
2 yöntem biliyorum, ancak bunların hiçbiri benim için çalışmıyor.PECL eklentisi Windows için

  1. sitesi http://pecl4win.php.net/ ay boyunca kapalı. Bu yüzden DLL dosyasını indiremiyorum. DLL'leri indirebileceğimiz herhangi bir yer var mı? pecl oauth-0.99.9.tgz yüklemek komutunu çalıştırarak

  2. DSP oauth.dsp yok hatası
    atıyor.
    Diğer birkaç uzantıyı da denedim ve aynı hatayı aldım.

Burada nelerin eksik?

cevap

17

Bültenleri şimdi burada bulunabilir:
http://windows.php.net/downloads/pecl/releases/

Eğer lists.php.net posta listesine de pecl-dev üzerinde isteyebilir orada mevcut değil bir uzantı gerekir.

+1

Uzantıların kaynağı, belirli bir dll'yi doğrudan vermek yerine 'dan kolayca erişilebildiğinden, kaynaktan pecl uzantısı oluşturma hakkında ayrıntılı bir kılavuz yayınlarsanız daha iyi olur. Bununla ilgili birkaç yazı buldum ama hala çok net değil. – Varun

+2

http://wiki.php.net/internals/windows/stepbystepbuild bazı yönergelere sahiptir. Burada başka bir cevaba yapılan bir yorumda da söylediğim gibi: Pencerelerdeki inşa sistemi şu anda bina uzantılarına tek başına izin vermemektedir, ancak oyu PHP kaynak ağacından inşa etmek zorundadır. Oauth eklemek için, buildconf.bat dosyasını çalıştırmadan önce kaynakları php-src/ext/oauth altına koymak veya buildconf.bat için --extra-ext-dir (veya benzer) seçeneğini kullanmak zorundasınız. – johannes

+0

İki yıl sonra önceki yorumuma bir güncelleme: Bu arada, ikili "geliştirme" yüklemelerinden elde edilebilen Unix'e benzer bir "phpize" aracı var. Pek çok geliştiricinin, özellikle 3. taraf kitaplıklarını kullanırken, bazı uyarlamaları gerektiren pencereleri sınamadığından, PECL uzantılarının oluşturulması hala önemsiz değildir. – johannes

1

PECL yükleyicisi, uzantının kaynak kodunu indirir ve yerel C derleyicinizle derlemeye çalışır. Sorun, tüm sürecin bir C derleyicinin mevcut olduğu veya kolayca kurulabildiği Unix sistemleri için tasarlanmasıdır. Windows altında C kodunu derlemek için bir ortam ayarlamak oldukça karmaşıktır.

İdeal çözüm, birisinin zaten derlediği bir DLL dosyası ediniyor. Pcle4win sitesi bunun içindi. Sadece iki alternatifin var bu yüzden Ancak PECL dll indirmek için hiçbir resmi depo anda var:

It' d orada bir DLL deposu vardı ama hiçbiri farkında değilim serin.

1

php kaynağı, php ile ilgili olarak autoconf araçlarını taklit eden pencereler için (windows komut dosyası kullanarak) bir dizi yapılandırma komut dosyası ile birlikte gelir. Eğer uzantının kodunu/ext dizininin altında (bcmath, bzip, ... gibi diğer tüm uzantıların bulunduğu) bir dizinin altına koyarsanız, buildconf -script'in bunun için derleme kuralları içeren bir makefile oluşturmasına izin verebilirsiniz. (yeni) uzatma.
http://wiki.php.net/internals/windows/stepbystepbuild numaralı telefondan adım adım ilerleyen bir örnek var.

+1

http://windows.php.net/downloads/pecl/releases/ yılında ne arıyorum var. Windows'ta tüm PHP'yi inşa etmeden bina uzantıları tek başına mümkün değildir. – johannes

+0

Evet, "yapı kurallarını içeren bir makefile oluştur" diyerek kasıtlı olarak belirsizdim. Ne olmuş yani? Çekirdeği ve yalnızca paylaşılan bir modül olarak istediğiniz uzantıyı oluşturun, config parametrelerinin kullandığınız php paketininkilerle eşleştiğinden emin olun ve daha sonra .dll dosyasını "normal" php yüklemenizle kullanın. Daha kolay olabilir, ama roket bilimi değil, değil mi? Mailparse uzantısı harici kütüphanelere bile bağlı değildir. – VolkerK

2

Şu anda pencereler için PECL tek bir düzeltme durumunda. Bunun nedeni, VS2008 kaynak sürümlerini sağlamaya çalıştığına inanıyorum. Aslında php grubunun pencerelerinin yarısı her şey düzelinceye kadar, şimdi Zend Server'u kullanmanızı öneririm. Zend Server, PECL'de bulabileceğiniz hemen hemen tüm uzantıları ve 'u içerir. şansınız varsa, kendinizi derleyebilirsiniz.

+0

Yani Zend'in gelecekte olası parasal kazançlar için bunu yaptıklarını söyleyebilir miyiz? – Pacerier

+0

@Pacerier Zend PHP'ye sahip değil, PHP Zend Engine'i kullanıyor. Windows php grubu açık kaynak grubudur. Bu, Zend Server'ın parasal kazanç için Zend'den bir kurumsal çözüm olduğunu söyledi. Muhtemelen, neden Windows için Zend Server'a en yaygın modülleri eklediler. –