2009-12-15 5 views
1

memcached 라이브러리를 사용할 PHP 확장 라이브러리를 작성하려고합니다. 간단하게 내 라이브러리를 memcache shlib에 연결하는 것은 간단합니다.memcached를 사용하는 PHP 확장

그러나 내 (확장 라이브러리) 사용자가 이미 자신의 웹 사이트에서 Memcache를 사용하는 경우 어떻게 될지 잘 모르겠습니다. 내 질문 :

  1. (아마도 다른 버전의) 컴퓨터에 memcache를 포함시킬 수 있습니까?
  2. 확장 라이브러리를 만들 때 정적으로 링크하거나 동적으로 memcache에 링크하는 것이 가장 좋습니까? (버전 호환성에 대한 수용하기 - 가정 memcache에이 역 호환, 그렇지 않으면 모든 베팅이 꺼져)

질문 기본적으로 제 3 자 파일에 대한 의존이있는 경우 하나는 그들이 작성한 확장 라이브러리를 보호 할 수있는 방법으로 변질 확장 라이브러리가 사용되는 웹 사이트에서 이미 사용되고있을 수도 있습니다.

이 질문은 아마도 약간 부정적 일지 모르지만 내가 묻는 요지를 이해하기를 바랍니다.

답변

4

PHP를위한 두 개의 memcache 확장이 있다는 것을 명심하십시오. 하나는 memcache이고, 다른 하나는 memcached이고, 다른 하나는 memcache 프로토콜의 자체 구현을 사용하며, 나중에는 라이브러리를 사용합니다.

처음 사용하는 경우에는 충돌을 일으키지 말고 직접 memcache를 처리해야합니다. memcached에 의존하는 확장 기능을 빌드하고 발견 한 라이브러리를 다시 사용하도록 제안합니다.

+0

유용한 정보 요하네스. 더 자세한 정보를 얻으려면 두 가지를 읽으십시오. –

+0

모든 증거는 memcached를 사용하여 가리 킵니다. 구현과 관련하여 - 기본 C++ libmemcached 라이브러리를 직접 호출 할 수 있습니까? 아니면 memcache의 PHP 확장을 통해 호출해야합니까? (나는 후자가 아니길 바래) –

+0

확장이로드되면 라이브러리를 사용할 수 있고 호출 될 수 있습니다. 컴파일 단계를 조금 생각하고 있습니다 ... PHP 빌드의 일부로 두 확장을 모두 빌드하면 쉽습니다 (cd php-src/ext; cp -r $ memcached/.; cp -r $ yourext; cd ..; ./buildconf; ./configure --with-memchached) .... 개별적으로 빌드하려면 memcached의 config.m4에서 라이브러리 검색을 복사해야 할 수도 있지만 ... pecl-dev [at] lists.php.net에 대한 의견이 더 많습니다. extesnsion의 관리자가 거기에서 읽어야합니다. – johannes