memcache не работает на windows?
Я установил memcached, и я также запустил сервис, набрав net start "memcached Server", и он сказал, что сервис уже запущен, поэтому я перезапустил apache и попробовал пару кодов для использования memcached:
<?php
//phpinfo();
$memcache = new Memcache;
$memcache->connect("localhost",11211); //change if necessary
$tempArray = array('fish', 'cow', 'demon');
$temp = serialize($testArray);
$memcache->add("key", $temp, 60);
print_r(unserialize($memcache->get("key")));
?>
но это дает ошибку:Fatal error: Class 'Memcache' not found in C:\wamp\www\temp.php on line 3
это значит, что memcache не запущен или что-то еще? Я ничего не сделал, кроме установки и запуска службы. Нужно ли мне делать что-то еще, например, указание ОЗУ и добавление сервера или что-то еще? Я использую Wamp-сервер.
4 ответа
Вот шаги, которые работали для меня:
URL: Как включить memcache в WAMP
Необходимые файлы
memcached.exe Direct Link
MSVCP71.DLL Windows DLL Files
msvcr71.dll
php_memcache.dll Working memcache for PHP 5.3.4
меры
Copy MSVCP71.DLL, msvcr71.dll to C:\windows\sysWOW64
Copy memcached.exe into C:\memcached
Click Windows-Key
Type: CMD
press: Ctrl-Shift-Enter
Choose yes
type: C:\memcached\memcached.exe -d install
type: C:\memcached\memcached.exe -d start
Copy php_memcache.dll to C:\wamp\bin\php\php5.3.4\ext
Restart Apache using Wamp controls
Enable WAMP -> PHP -> PHP Extensios -> php_memcache
Затем я нажал на phpinfo(), он не отображал свойство memcache. Любой может помочь мне установить wmap.
- Спасибо Д.Джеева
Убедитесь, что вы запускаете командную строку от имени администратора, если вы этого еще не сделали. Также убедитесь, что у вас включен memcache и что у вас есть соответствующие DLL. Используйте phpinfo(), чтобы убедиться, что memcache включен на стороне PHP. Затем просто запустите быстрый скрипт для проверки работоспособности memcache. Попробуйте следующее, если вы не попали в ошибки, memcache включен.
<?php
$memcache = new Memcache;
$memcache->connect("localhost",11211); //change if necessary
$tempArray = array('fish', 'cow', 'demon');
$temp = serialize($testArray);
$memcache->add("key", $temp, 60);
print_r(unserialize($memcache->get("key")));
?>
Сервис Memcached недостаточно. Само по себе это не имеет ничего общего с PHP и не может быть легко использовано из PHP. Чтобы сделать его пригодным для использования в PHP, вам также понадобится PHP-расширение Memcache или Memcached, которое будет обрабатывать взаимодействие со службой. Похоже, вы собираетесь использовать Memcache.
Руководство по PHP объясняет, как установить расширения PECL на Windows. У WAMP может быть более простой механизм, я не уверен, так как я не знаком с WAMP.
редактировать
Я нашел этот пост в блоге об установке Memcached для работы с PHP на WAMP. Это может оказаться полезным. Похоже, что расширение, вероятно, уже доступно как .dll
где-то на вашем компьютере, и вам просто нужно отредактировать php.ini
файл, чтобы включить расширение, а затем перезапустите Apache.
Я столкнулся с точно такой же проблемой.
В моем случае проблема заключалась в том, что я работал на 64-bit
система, но я скачал 32-bit
файл memcache dll. После того, как я скачал Memcache 2.2.6 VC9 x64 Thread Safe