Включение memcache на Mac OSX с помощью стандартных apache и php5 - PullRequest
3 голосов
/ 15 мая 2009

Не могу понять, как включить memcache на Mac OSX для работы с apache. Я установил memcache и могу убедиться, что он работает через командную строку php.

Следующая команда:

php --ri memcache

сообщает, что memcache поддерживается.

Однако, если я загружаю локальный тестовый скрипт, который выполняет phpinfo () в моем браузере, он не сообщает об установке memcahe. Запуск в моем браузере сценария, который создает новый отчет об объекте memcache:

Fatal error: Class ‘Memcache’ not found

Я отредактировал php.ini и добавил расширения = memcache.so

Я перезапустил apache, перейдя в «Системные настройки» -> «Общий доступ», отключив и включив веб-общий доступ. Я даже пытался перезапустить apache из командной строки с sudo apachectl restart.

Что я мог упустить, что мешает php распознавать memcache при запуске через браузер?

Спасибо!

Ответы [ 3 ]

1 голос
/ 17 мая 2009

Скорее всего, у вас будет установлено расширение memcache.so в каталоге */no-debug-non-zts-*, что иногда является болезненным (то же самое в Linux), и php.ini может не смотреть в этот каталог. Вы можете изменить каталог расширений в вашем php.ini (что может нарушить другие функции) или лучше создать символическую ссылку на файл memcache.so в */no-debug-non-zts-* dir.

В моем случае это было:

ln -s /usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so /usr/lib64/php/modules/memcache.so

В дополнение к этому проверьте права доступа к файлу memcache.so и убедитесь, что он исполняемый (755), в моем случае это было:

chmod 755 /usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so

Надеюсь, это поможет, и это мое последнее предложение:)

0 голосов
/ 09 декабря 2010

Конечно, похоже, что в командной строке php и mod_php используются разные версии php.ini.

0 голосов
/ 15 мая 2009

Для чего вы используете memcache? Как вы это инициируете? У вас также работает memcached на машине?

Это не просто ответ от Mac, но, надеюсь, он проведет вас по маршруту пробега, извиняюсь, если он охватывает очевидное.

Вам необходимо запустить memcached либо на Mac, либо на другом компьютере, к которому mac может получить доступ через порт memcached.

Здесь есть специальный документ на memcached на Mac - http://memcached.darwinports.com/

Помните, что вам также нужно настроить php для использования memcache для всего, что вы хотите кэшировать, например, memcache. измените соответствующие настройки PHP, например, используя memcache для обработки сессий:

session.save_handler = файлы
изменить на:
session.save_handler = memcache

session.save_path = "TCP: //: 11211 стойкие = 1 & вес = 1 & таймаут = 1 & retry_interval = 2" * * 1016

Надеется, что это поможет в некотором роде.

http://www.of -networks.co.uk

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...