Ben PECL'de ile memcached PHP uzantısı yükleyebilir miyim?

4 Cevap php

Ben başarıyla "memcache" uzantısı yüklü olabilir ama ben sorun PECL'de "memcached" PHP uzantısı yüklerken yaşıyorum. (Onlar ayrı PHP uzantıları vardır.)

Örneğin, bu komutlar tamam çalışır:

$ sudo pecl install memcache
$ sudo pecl install APC
$ sudo pecl install oauth

Ancak, memcached yüklemeye çalışırken hata neden olur:

$ sudo pecl install memcached
...
ld: library not found for -lmemcached
collect2: ld returned 1 exit status
make: *** [memcached.la] Error 1
ERROR: `make' failed

Ben yeni bir Intel Mac Pecl, memcached ve Mac Limanlarından libmemcached (macports.org) kullanıyorum. Libmemcached kütüphaneleri yerel / opt / bulunabilir:

/opt/local/include/libmemcached
/opt/local/include/libmemcached/libmemcached_config.h
/opt/local/lib/libmemcached.2.0.0.dylib
/opt/local/lib/libmemcached.2.dylib
/opt/local/lib/libmemcached.a
/opt/local/lib/libmemcached.dylib
/opt/local/lib/libmemcached.la

Ben yanlış yapıyor olabilir Herhangi bir fikir ne?

4 Cevap

Andrei Zmievski (memcached eklenti geliştiricisi) lütfen aşağıdaki talimatları ile benim e-posta isteği yanıtladı:

$ pecl download memcached
$ tar zxvf memcached-1.0.0.tgz (or whatever version downloads)
$ cd memcached-1.0.0
$ phpize
$ ./configure --with-libmemcached-dir=/opt/local
$ make
$ sudo make install

Bu mükemmel çalıştı.

Gördüğünüz gibi, yeni memcached uzatma, ağır kaldırma yapmak için libmemcached kullanır. Bu Linux olsaydı, ben size (ve koşmak 'ldconfig') / opt / ld.so.conf listelenen / local / lib yok mümkün olduğunu söyleyebilirim.

MaxOSX olsa o kullanmaz. Bu görünüşe göre 'limanlarından' dan, ancak yüklenemez. http://lsimons.wordpress.com/2008/05/01/serious-php-part-1/

Ben yanlış anlamaya herkes için oldukça yeterli bağlam verdik sanmıyorum. Ben en azından tüm gcc / ld komutunu before "Kütüphane bulunamadı" hata görmem gerekiyor.

Ayrıca, bu konuda sormak için doğru yer MacPorts posta listesinde veya IRC kanalında muhtemelen bir. Her MacPorts paket olasılıkla bu paketi hakkında en bilgili kişi bir bakımcıya vardır.

Burada aynı durum. ben yukarıdaki yapmak zorunda, ama açık yol adları ile (i / opt / local üzerinden vs benim php çalıştırmak)

  • /opt/local/bin / pecl indirme memcached
  • tar zxvf memcached-1.0.0.tgz
  • cd memcached-1.0.0
  • /opt/local/bin / phpize
  • . / Configure --prefix=/opt/local --with-php-config=/opt/local/bin/php-config - with-libmemcached-dir = / opt / local
  • yapmak
  • yapmak install

şeyler normalde bu tür MacPorts ile os x üzerinde oldukça basittir, ancak hiçbir php5-memcached paketi henüz (eski, memcache (hayır "d") paket için tek) vardır. oh, son sürüm benim için os x 10.5.8 derlemek yoktu çünkü ben de, libmemcached eski bir sürümünü yüklemek zorunda kaldım bir. oy!