Если вы столкнулись с ошибкой, подобной той, что написана в заголовке, это может означать, что ваше приложение может не работать при попытке использовать расширение memcache из-за неправильной или отсутствующей сборки расширения.
“php: symbol lookup error: /usr/local/lib/php/extensions/no-debug-non-zts-20131226/memcache.so: undefined symbol: mmc_queue_pop”
Чтобы исправить эту проблему, вам нужно передать опцию «fgnu89-inline
» компилятору с переменной среды CFLAGS
при установке пакета через pecl. Эта опция указывает компилятору C использовать традиционную семантику GNU для встроенных функций.
Если модуль memcache был установлен из пакетов, нужно его удалить.
|
|
После установим заново, но немного иначе
|
|
Готово!
Аналогичное решение можно применить при ручной сборке модуля. Нужно добавить -fgnu89-inline
в переменную CFLAGS=
. Чем я и занимался. Статья частично переведена google translate, особо времени доволить до ума небыло.