Расширение Memcache с PHP 7 на CentOS не удается установить
Я пытаюсь обновить довольно большую базу кода PHP 5.3 до PHP 7. Он размещен на CentOS 6.5, поэтому я хочу сохранить его на этой ОС. В настоящее время я делаю это на virgin Vagrant box - я успешно установил PHP 7 и все модули, кроме Memcache.
как root, когда я запускаю pecl install memcache
он пытается установить v2.2.7 но я получаю длинный список ошибок и предупреждений от сделать. В конце:
make: *** [memcache.lo] Error 1
ERROR: `make' failed
по данным GoPHP7 он должен работа, Memcache должен работать с PHP 7-он говорит"порт php7 на github". Существует действительно Memcache PHP 7 порт на GitHub. Когда я смотрю на страница Memcache на Pecl страница, она показывает, что я должен устанавливать v3.0.8, но это в бета-версии (и было с 2013 года).
поэтому я пытаюсь бежать pecl install memcache-3.0.8
и он все еще терпит неудачу, с той же ошибкой, что и выше:
make: *** [memcache.lo] Error 1
ERROR: `make' failed
так можно ли получить расширение Memcache, работающее с PHP 7 на В CentOS 6.5?
1 ответов
Если вы еще не решили это, у меня есть решение, которое сработало для меня. Я на CentOS 7.x, но он все равно должен работать для вас, и кто-то еще хочет использовать pecl-memcache С PHP 7 (не pecl-memcached поскольку это совершенно другой пакет).
Как вы уже обнаружили, Вы должны использовать Memcache PHP 7 порт на GitHub для этого.
войдите в свою оболочку и выполните следующий:
1. wget https://github.com/websupport-sk/pecl-memcache/archive/NON_BLOCKING_IO_php7.zip
2. unzip NON_BLOCKING_IO_php7.zip
3. cd pecl-memcache-NON_BLOCKING_IO_php7
4. /opt/cpanel/ea-php70/root/usr/bin/phpize && ./configure --enable-memcache --with-php-config=/opt/cpanel/ea-php70/root/usr/bin/php-config && make
5. cp modules/memcache.so /opt/cpanel/ea-php70/root/usr/lib64/php/modules/
6. echo 'extension=memcache.so' >/opt/cpanel/ea-php70/root/etc/php.d/memcached.ini
7. service httpd restart
некоторые заметки выше:
- замените каждый полный путь, который я использовал, соответствующим полным путем в вашей собственной системе. Пока у меня /опт/панель/ЭА-php70/корень/, вы можете иметь каталог /opt/php-с 7.0.7/. Если у вас установлено несколько версий PHP, как и у меня, запуск phpize может закончиться созданием старой версии PHP. Я обнаружил это после долгих проб и ошибок.
- чтобы узнать, где находится ваша папка модулей PHP, вы можете запустить "/опт/панель/ЭА-php70/корень/usr/Бен/РНР -я | extension_dir команда grep"
- возможно, Вам не нужно выполнять Шаг 6, где я создаю memcached.ini, если вы уже загрузили его в другом месте.
- вы можете проверить, правильно ли он был построен и установлен с помощью "/opt/cpanel/ea-php70/root/usr/bin/php-i | grep memcache". Если вы видите различные записи memcache, все было установлено успешно.
надеюсь, это поможет!