Я установил memcached, прочитав эту статью в Windows7, но, к сожалению, я продолжаю получать ошибку. Fatal error: Class 'Memcache' not found in D:\xampp\htdocs\test\memcache\test.php on line 2
Строка 2: $memcache = new Memcache;
Win7 64, установлен Xampp. Я использую net start "memcached Server"
в командной строке, но он говорит, что служба уже запущена.
Другая информация, которая может помочь;
В файле php.ini:
extension=php_memcache.dll [Memcache] memcache.allow_failover = 1 memcache.max_failover_attempts=20 memcache.chunk_size =8192 memcache.default_port = 11211
Обновление: phpinfo (); show dll не загружается. Пробовал несколько разных DLL-файлов до сих пор, не работал. Также dll находится правильно. Кажется, он находится в правильной папке.
(PS Некоторые могут подумать, что есть возможные дубликаты в этой теме, но есть только один человек, который следовал тем же инструкциям и имел ту же ошибку в SO. Этот вопрос не имеет ответа или решения после марша).
Я нашел рабочие DLL-файлы для PHP 5.4.4
Я не знаю, как они стабильны, но они работают наверняка. Кредиты идут по этой ссылке .
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.ini:
extension="php_memcache.dll"
и перезапустите apache
Memcached использует стандартный текстовый интерфейс, поэтому его можно использовать без модуля.
// connect $link = fsockopen($host,$port,$errno,$errst,$timeout); // set $data = sprintf("set %s 0 %s %s\r\n%s\r\n", $key,$expire,strlen($value),$value); fwrite($link,$data); $result = trim(fgets($link)); if ($result == 'ERROR') { // :( } // get $data = sprintf("get %s\r\n",$key); fwrite($link,$data); $line = rtrim(fgets($link)); if ($line != 'END') { return rtrim(fgets($link)); }
Поэтому я теперь нашел решение. Здесь вы можете загрузить некоторые скомпилированные расширения.
http://downloads.php.net/pierre/
Проблема в том, что на данный момент нет расширения memcache для PHP 5.4 . это проблема, почему ваше расширение не может быть загружено. Вам нужно расширение для правильной версии PHP и Tead Safe для Windows.
Поэтому самый простой способ – работать с PHP 5.3, если вам нужно расширение.
Самая новая версия memcache – это версия 3.0.6, но ее бета-версия вы можете увидеть здесь.
http://pecl.php.net/package/memcache
Вы можете попробовать взять бета-версию и скомпилировать ее с помощью вашей системы Windows. Но его много работы.
Также проблема может заключаться в загрузке другой версии php-модуля где-нибудь в файлах apache .conf. Необходимо проверить дублированные директивы «LoadModule php …», и если этот модуль скомпилирован для исправления версии apache. Кажется, это звучит просто, но не тогда, когда у вас несколько версий php на одной машине 🙂 Или это может быть проблема SElinux.
Версия xampp windows 32bit, вы должны использовать 32bit memcache.dll
Я хочу, чтобы это было полезно для вас!