Maison  >  Article  >  développement back-end  >  Comment installer les extensions memcache et memcached sous PHP7

Comment installer les extensions memcache et memcached sous PHP7

醉折花枝作酒筹
醉折花枝作酒筹avant
2021-06-25 09:15:472284parcourir

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.

Comment installer les extensions memcache et memcached sous PHP7

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.

Installer les dépendances

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

Installez l'extension memcached

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.

Comment installer les extensions memcache et memcached sous PHP7


Installez l'extension memcache

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

Comment installer les extensions memcache et memcached sous PHP7

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer