2009-03-25 33 views
11

Tôi gặp sự cố khi cài đặt tiện ích mở rộng "memcached" từ PECL, mặc dù tôi có thể cài đặt thành công tiện ích "memcache". (Họ là những phần mở rộng PHP riêng biệt.)Tôi có thể cài đặt tiện ích mở rộng memcached PHP bằng PECL không?

Ví dụ, các lệnh này làm việc okay:

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

Tuy nhiên, cố gắng cài đặt memcached gây lỗi:

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

Tôi đang sử dụng PECL, memcached và libmemcached từ Mac Ports (macports.org) trên Mac Intel gần đây. Các thư viện libmemcached có thể được tìm thấy trong/opt/local:

/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

Bất kỳ ý tưởng những gì tôi có thể làm sai?

Trả lời

31

Andrei Zmievski (nhà phát triển của các plugin memcached) vui lòng trả lời email yêu cầu của tôi với các hướng dẫn sau đây:

$ 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 

này đã làm việc một cách hoàn hảo.

+2

Tham chiếu/chọn tham chiếu là gì? Tôi không hiểu phần này. –

+0

Đối với memcache (và không memcached) với MAMP 1.9 tôi đã sử dụng cách này để cấu hình: './configure --prefix =/Applications/MAMP/--with-php-config =/Applications/MAMP/bin/php5. 3/bin/php-config' – phemios

+1

@ChrisHarrison:/opt/local là vị trí của MacPorts (mặc dù bây giờ tôi đang sử dụng Brew.) – richardkmiller

1

Như bạn đã thấy, tiện ích mở rộng memcached mới, sử dụng libmemcached để thực hiện việc nâng hạng nặng. Nếu đó là Linux, tôi muốn nói rằng có thể bạn không có/opt/local/lib/được liệt kê trong ld.so.conf (và chạy 'ldconfig').

MaxOSX không sử dụng điều đó. Đó là, tuy nhiên có thể cài đặt từ 'cổng' rõ ràng. http://lsimons.wordpress.com/2008/05/01/serious-php-part-1/

1

cùng một tình huống tại đây. tôi đã phải làm các việc trên, nhưng với tên đường dẫn rõ ràng (tôi chạy php của tôi, vv ra khỏi/opt/local)

  • /opt/local/bin/PECL tải 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
  • làm
  • thực hiện cài đặt

thường loại công cụ này là khá đơn giản trên os x với macports, nhưng không có gói php5-memcached chưa (chỉ một công nghệ cũ , memcache (không có "d") gói). oh, tôi cũng phải cài đặt phiên bản cũ hơn của libmemcached, vì phiên bản mới nhất không biên dịch trên os x 10.5.8 cho tôi. oy!

0

Vâng, sau nhiều lần, chỉ có giải pháp này phù hợp với tôi.

  1. Cài đặt XAMPP
  2. Install brew (https://github.com/Homebrew/homebrew/wiki/Installation)
  3. $ brew
  4. cài đặt libmemcached
  5. cd/Applications/XAMPP/xamppfiles/bin/
  6. $ sudo ./pecl cài đặt memcached

Build process completed successfully Installing '/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/memcached.so' install ok: channel://pecl.php.net/memcached-2.2.0 configuration option "php_ini" is not set to php.ini location You should add "extension=memcached.so" to php.ini

VOILA !!

Các vấn đề liên quan