Я получаю оба модуля, указанные как установленные/настроенные, когда я использую:
php -m
или если я использую:
php -i
но когда я использую:
$m = new Memcache;
// or
$m = new Memcache();
// or
$m = new Memcached();
//or
$m = new Memcached;
Я получаю следующую ошибку:
Fatal error: Class 'Memcached' not found
Я работаю на Mac - OS X (10.5.7) с установкой по умолчанию apache и php. Кроме того, у меня есть memcached, работающий как демон на 127.0.0.1:11211, и libmemcache, как того требует библиотека php-memcached. Я перезапускал apache много раз и даже перезапускал машину.
Кто-нибудь знает, почему модули/расширения отображаются в командной строке, но не в моем phpinfo()? Я буквально в тупике, после 3 часов гугления я почти готов сдаться.
Также обратите внимание, что мой phpinfo() выводит мои ini-файлы следующим образом, И они оба являются одним и тем же файлом:
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /private/etc/php.ini
ОБНОВЛЕНИЕ:
Apache не может загрузить расширение.
[Пятница, 14 мая, 04:22:26 2010] [предупреждение] Инициализация: Кэш сеанса не настроен [подсказка: SSLSessionCache] Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php/extensions/no-debug -non-zts-20060613/memcached.so' — (null) в Unknown on line 0 Предупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib/php/extensions/no-debug-non-zts-20060613 /memcache.so' - (ноль) в неизвестном в строке 0
Кто-нибудь знает, почему или как это произошло? Оба упомянутых выше файла ОПРЕДЕЛЕННО ЕСТЬ. Должен ли я перенести этот вопрос на ошибку сервера?