Установка php-handlersocket 0.0.7 на ubuntu (новые грабли)

Со времени прошлого поста прошло много времени, расширение php-handlersocket успело обновитсья с 0.5 до 0.7, автор исправил некоторые баги. Спасибо вам, за то что находили их и постили в Issues. Сегодня обновили Ubuntu на компе разработчика с 10.04 до 10.10 и старая метода установки HandlerSocket работать перестала. Но нам всё-таки удалось его установить! Баг актуален только в случае обновления Ubuntu c 10.04 на 10.10 На чистой ОС таких проблем нет.

Проблема

При коннфигурировании (./configure) расширения php-handlersocket вылетают ошибки вида:

а при компиляции(make) такие:

Суть проблемы

Для компиляции расширения необходим скомпилированный плагин handlersocket для mysql. А для компиляции плагина необходимы исходники mysql.

Решение

0. Подготавливаем систему

1. Смотрим какая версия mysql стоит в системе.

У нас стоит Percona Server.

2. Идём на их сайт и качаем исходники:
http://www.percona.com/redir/downloads/Percona-Server-5.1/Percona-Server-5.1.52-12.3/source/Percona-Server-5.1.52-12.3.tar.gz

3. Распаковываем папку Percona-Server из архива в папку /usr/local/src/percona

4. Скачиваем плагин handlersocket отсюда:
https://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL/archives/master
Распаковываем его в папку /home/user/1/hs

5. Конфигурируем плагин вместе с исходниками mysql и компилим

Если вылезает ошибка:

значит вы не поставили sudo apt-get install libmysqlclient-dev
6. Скачиваем расширение php-handlersocket(http://code.google.com/p/php-handlersocket/downloads/list),
если ещё не скачали, и распаковываем их в папку (/usr/local/HandlerSocket-Plugin/).

7. Конфигурируем php-расширение вместе с плагином handlersocket и компилим:

Должно вывести:

и ставим:

8. Создаем файл /etc/php5/conf.d/handlersocket.ini в котором пишем

9. Перезагружаем php
sudo service apache2 restart (для php, установленного, как модуль Apache)
sudo service php5-fpm restart (для php-fpm)

10. Смотрим phpinfo(); и там должен появиться раздел про HandlerSocket

Ура! Теперь мы можем работать с HS!