Назад | Перейти на главную страницу

Модуль memcached php не компилируется на EC2

Я пытаюсь сделать это на EC2, микро-экземпляр, используя amazon linux

Я без проблем установил и запустил сервис memcached. Но при попытке сделать часть php с помощью pecl он сказал мне, что pecl не установлен. Итак, я установил pear, затем pecl, при попытке запустить pecl install memcache у меня возникла ошибка с запросом zlib (который, кстати, установлен), поэтому вместо этого я сделал следующее:

wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar xvf memcache-2.2.5.tgz
cd memcache-2.2.5
phpize
./configure --with-zlib-dir=/usr/share/syslinux/com32/

Но когда я делаю «make», я получаю длинный список ошибок, все они в файлах «zend», в основном отсутствующие типы (например, uint, hash_func_t и т. Д.).

Я предполагаю, что необходимо установить что-то еще (например, включаемый файл со всеми типами, которые запрашиваются), поэтому мне не нужно самому определять все недостающие типы

In file included from /usr/include/php/Zend/zend.h:237,
                 from /usr/include/php/main/php.h:35,
                 from /usr/local/src/memcache-2.2.5/memcache.c:26:
/usr/include/php/Zend/zend_alloc.h:49: error: expected specifier-qualifier-list before 'uint'
In file included from /usr/include/php/Zend/zend.h:270,
                 from /usr/include/php/main/php.h:35,
                 from /usr/local/src/memcache-2.2.5/memcache.c:26:
/usr/include/php/Zend/zend_hash.h:45: error: expected declaration specifiers or '...' before '*' token
/usr/include/php/Zend/zend_hash.h:45: error: expected declaration specifiers or '...' before 'uint'
/usr/include/php/Zend/zend_hash.h:45: error: 'ulong' declared as function returning a function
/usr/include/php/Zend/zend_hash.h:55: error: field 'h' declared as a function
/usr/include/php/Zend/zend_hash.h:56: error: expected specifier-qualifier-list before 'uint'
/usr/include/php/Zend/zend_hash.h:67: error: expected specifier-qualifier-list before 'uint'
/usr/include/php/Zend/zend_hash.h:87: error: expected specifier-qualifier-list before 'uint'
/usr/include/php/Zend/zend_hash.h:99: error: expected declaration specifiers or '...' before 'uint'
/usr/include/php/Zend/zend_hash.h:99: error: expected declaration specifiers or '...' before 'hash_func_t'
In file included from /usr/include/php/Zend/zend.h:270,
                 from /usr/include/php/main/php.h:35,
                 from /usr/local/src/memcache-2.2.5/memcache.c:26:
/usr/include/php/Zend/zend_hash.h:100: error: expected declaration specifiers or '...' before 'uint'
/usr/include/php/Zend/zend_hash.h:100: error: expected declaration specifiers or '...' before 'hash_func_t'

и т.д ... (список ошибок длинный ...)

Как насчет простой установки php-pecl-memcache вместо составления одного?