[php] PHP memcached 치명적 오류 : ‘Memcache’클래스를 찾을 수 없습니다.

PHP에서 memcached를 사용하기 위해 php.net 의 예제를 붙여 넣었고 다음 과 같은 결과를 얻었습니다.

Fatal error: Class 'Memcache' not found

내 php.ini에 다음이 있습니다.

[memcache]
memcache.hash_strategy = “일관된”
memcache.max_failover_attemps = 100
memcache.allow_failover = 1

다음은 각각 php -i 및 php -m의 정보입니다.

php -i | grep -i memcache
memcached
memcached 지원 => 활성화 된
libmemcached 버전 => 0.37
등록 된 저장 핸들러 => 파일 사용자 sqlite memcached

php -m | grep -i memcache
memcached

따라서 php는 memcached를 모듈로로드 한 것으로 보이며 php info는로드되었으며 v.37을 사용하고 있다고 말합니다. 나는 아직 아파치를 통해 시도하지 않았으며 지금은 cli를 통해서만 사용하고 있습니다. 이견있는 사람?



답변

PHP에는 ” memcache “및 ” memcached “라는 두 가지 memcached 확장이 있습니다 .

하나 ( “memcache”)를 사용하려고하는데 다른 하나 ( “memcached”)가 설치되어있는 것 같습니다.


답변

허용 된 답변이 의견에 말하는 것을 무시하고 ‘Memcache’를 설치하는 올바른 방법은 다음과 같습니다.

sudo apt-get install php5-memcache

참고 Memcache와 Memcached는 서로 관련이 있지만 종종 혼동되는 두 가지 별개의 소프트웨어입니다.

편집
이것은 이제 오래된 게시물이므로 php5 를 PHP 버전 번호로 대체해야한다고 언급 할 가치가 있다고 생각했습니다 .


답변

이 게시물에서 해결책을 찾았습니다 : /programming/11883378/class-memcache-not-found-php# =

PHP 5.4.4에서 작동하는 dll 파일을 찾았습니다.

나는 그들이 안정적인지 모르지만 확실히 작동합니다. 크레딧은이 링크로 이동합니다.

http://x32.elijst.nl/php_memcache-5.4-nts-vc9-x86.zip

http://x32.elijst.nl/php_memcache-5.4-vc9-x86.zip

2.2.5.0 버전으로 컴파일 한 후 발견했습니다 (PHP 5.4.4 용).

2.2.6은 아니지만 작동합니다. 또한 내 FTP에 미러링했습니다. 미러 링크 :

http://mustafabugra.com/resim/php_memcache-5.4-vc9-x86.zip http://mustafabugra.com/resim/php_memcache-5.4-nts-vc9-x86.zip


답변

오른쪽은 php_memcache.dll 입니다. 제 경우에는 vc6 컴파일러 대신 vc9로 컴파일 된 lib를 사용하고있었습니다. apatche 오류 로그에서 다음과 같은 것을 얻었습니다.

PHP 시작 : sqlanywhere : 모듈을 초기화 할 수 없음 빌드 ID = API20090626, TS, VC9로 컴파일 된 모듈 빌드 ID = API20090626, TS, VC6으로 컴파일 된 PHP이 옵션은 일치해야합니다.

동일한 로그가 있는지 확인하고 다른 컴파일러로 컴파일 된 다른 dll을 다운로드 해보십시오.


답변

OSX 사용자의 경우 :

다음 명령을 실행하여 Memcached를 설치합니다.

brew install memcached


답변

wp-config /로 이동하여 object-cache.php 및 advanced-cache.php를 삭제했는데 제대로 작동했습니다.


답변