Maison > Article > développement back-end > Comment installer les extensions memcache et memcached sous PHP7
Memcache et memcached sont tous deux des extensions PHP du serveur Memcached. Parmi eux, Memcache est apparu plus tôt que Memcache, donc certains anciens codes peuvent encore utiliser l'extension Memcache. Vous pouvez en installer un selon vos besoins. Voici les méthodes d’installation pour les deux.
Memcached est un serveur de cache mémoire distribué hautes performances, et PHP memcache et memcached sont tous deux des extensions PHP du serveur Memcached. Parmi eux, Memcache est apparu plus tôt que Memcache, donc certains anciens codes peuvent encore utiliser l'extension Memcache. Memcached est apparu plus tard et la plupart des frameworks prennent en charge Memcached, qui est désormais relativement populaire.
La première est memcached. Cette extension nécessite la bibliothèque client libmemcached, sinon l'erreur suivante se produira
vérification de l'emplacement libmemcached… configure : erreur : la prise en charge de memcached nécessite libmemcached. Utilisez –with-libmemcached-dir=
pour spécifier le préfixe où se trouvent les en-têtes et la bibliothèque libmemcached
ERREUR : `/var/tmp/memcached/configure –with-libmemcached-dir= non 'échoué
peut être installé par la méthode suivante
[root@lnmp lnmp.cn]# yum install libmemcached libmemcached-devel
pendant que memcache Le module utilise la fonction zlib pour prendre en charge la compression des données, donc l'installation de ce module nécessite l'installation du module Zlib. Sinon, l'erreur suivante se produira :
vérification de l'emplacement de zlib… configure : erreur : la prise en charge de memcache nécessite ZLIB. Utilisez –with-zlib-dir=
include et la bibliothèque se trouvent ERREUR : `/var/tmp/memcache/configure –enable-memcache-session=No' a échoué
Vous pouvez utiliser yum pour l'installer comme suit :
[root@lnmp lnmp.cn]# yum install zlib zlib-devel
Essayez de l'installer avec PECL , l'adresse de memcached sur PECL Oui :
https://pecl.php.net/package/memcached
[root@lnmp lnmp.cn]#pecl install memcached
pecl/ memcached nécessite PHP (version >= 5.2.0, version
Aucun package valide trouvé
échec de l'installation
[root@localhost vagrant]#
Il est évident que l'extension memcached sur PECL ne prend en charge que les versions supérieures à PHP 5.2 et inférieures à 6.00. Pas encore mis à jour vers PHP7. Mais heureusement, vous pouvez retrouver leur lien sur github sur la page memcached de PECL :
https://github.com/php-memcached-dev/php-memcached
Voici Le code déjà a une branche qui prend en charge PHP7. Ici, téléchargez le code source dans le répertoire ext du code source PHP :
[root@lnmp lnmp.cn]# cd /usr/local/src/php-7.0.8/ext/
[root@lnmp ext]# git clone https://github.com/php-memcached-dev/php-memcached memcached
[root@lnmp ext]# cd memcached/
checkout vers la branche php7 :
[root@lnmp memcached]# git checkout php7
Branche php7 configurée pour suivre la branche distante php7 depuis l'origine.
Basculé vers une nouvelle branche 'php7'
[root@lnmp memcached]#
Installer avec phpize, mon PHP est installé sous /usr/local/ php7
[root@lnmp memcached]# /usr/local/php7/bin/phpize
[root@lnmp memcached]# ./configure –with-php-config= /usr /local/php7/bin/php-config
Puis make et make install
[root@lnmp memcached]# make
[root@lnmp memcached]# make install
Installation des extensions partagées : /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/
[root@lnmp memcached]#
Vous pouvez voir que memcached a été installé et que le fichier d'extension a été placé dans le répertoire demandé :
[root @lnmp memcached] # ls /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/
memcached.so opcache.a opcache.so
[root@lnmp memcached]#
La dernière étape consiste à introduire memcached.so dans php.ini
[root@lnmp memcached]# vim /usr/local /php7/lib/php .ini
Ajouter :
extension=memcached.so
N'oubliez pas de recharger php-fpm pour prendre effect
[root@lnmp memcached]# systemctl reload php-fpm
Ouvrez la page phpinfo et vous avez vu que l'extension memcached a été installée avec succès.
Essayez également de l'installer en utilisant PECL :
[root@lnmp memcached ]# pecl install memcache
mais a également échoué
/tmp/pear/temp/memcache/memcache.c:40:40 : erreur fatale : ext/standard/ php_smart_str. h : Aucun fichier ou répertoire de ce type
#include "ext/standard/php_smart_str.h"
^
compilation terminée.
make : *** [memcache.lo] Erreur 1
ERREUR : `make' a échoué
Il semble que la raison soit aussi que PECL ne prend pas en charge l'installation de l'extension memcache sous PHP7,
https://pecl .php.net/package /memcache
n'a pas été mis à jour depuis 2013. Si cette route échoue, nous ne pouvons que trouver un autre moyen et tenter notre chance sur github. Recherchez pecl memcache
https://github.com/search?utf8=%E2%9C%93&q=pecl+memcache&type=Repositories&ref=searchresults
Le premier (https:// github .com/websupport-sk/pecl-memcache) est ce que vous voulez, et le code prend déjà en charge PHP7. Téléchargez le code et compilez-le immédiatement :
[root@lnmp memcached]# cd .. /
[root@lnmp ext]# git clone https://github.com/websupport-sk/pecl-memcache memcache
[root@lnmp ext]# cd memcache
Installer avec phpize, les étapes sont exactement les mêmes que pour memcached
[root@lnmp memcache]# /usr/local/php7/bin/phpize
[root@lnmp memcache] # ./configure –with-php-config=/usr/local/php7/bin/php-config
[root@lnmp memcache]# make
[ root@lnmp memcache]# make install
Installation des extensions partagées : /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/
[root@ lnmp memcache]#
Similaire à memcached, introduisez memcache.so dans php.ini
[root@lnmp memcache]# vim /usr/local/php7/lib /php.ini
Ajouter :
extension=memcache.so
Enfin recharger php-fpm
[root@lnmp memcache]# systemctl reload php-fpm
Vous avez terminé, vous pouvez voir sur la page phpinfo que memcahce et memchaced ont été installés avec succès
Apprentissage recommandé :Tutoriel vidéo php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!