erreur lors de l'installation de pecl memcached
J'ai eu vraiment du mal à installer le pecl memcached paquet.
N'ont pas eu de joie avec toute yum ou de poire/pecl install j'ai évoqué cette question Installer PECL Memcached Erreur et a commencé à essayer de configurer/faire manuellement
Je suis en utilisant pecl pour télécharger la dernière version (memcached-2.2.0) puis décompresser, la commande phpize...
Si je configure avec l'option --disable-memcached-sasl la configuration complète, mais faire échec. Avec ce qui ressemble à des erreurs de syntaxe
In file included from /root/memcached-2.2.0/php_memcached_private.h:28,
from /root/memcached-2.2.0/php_memcached.c:26:
/root/memcached-2.2.0/php_libmemcached_compat.h:56: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c:328: error: expected declaration specifiers or ‘...’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c:329: error: expected declaration specifiers or ‘...’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c:330: error: expected declaration specifiers or ‘...’ before ‘php_memcached_instance_st’
/root/memcached-2.2.0/php_memcached.c: In function ‘php_memc_get_impl’:
/root/memcached-2.2.0/php_memcached.c:594: warning: passing argument 4 of ‘memcached_mget_by_key’ from incompatible pointer type
/usr/include/libmemcached/memcached_get.h:38: note: expected ‘char **’ but argument is of type ‘const char **’
/root/memcached-2.2.0/php_memcached.c: In function ‘php_memc_getMulti_impl’:
Il n'y a plus de cela, mais j'espère que c'est utile assez indicateur
Si j'utilise l'option --with-libmemcached-dir=/usr/include/libmemcached-je obtenir
checking for libmemcached location... configure: error: Unable to find memcached.h under /usr/include/libmemcached
Mais c'EST là que memcached.h est
Si j'utilise l'option --with-libmemcached-dir=pas de configurer donne
configure: error: no, libmemcached sasl support is not enabled. Run configure with --disable-memcached-sasl to disable this check
Si j'ajoute l'option --disable-memcached-sasl option configurer complète, mais faire échoue avec des erreurs de syntaxe nouveau
L'impression que je suis coincé dans une boucle.
Ce n'est pas la première fois que j'ai mis en place un serveur de a à z pour utiliser memcached (bien que la première fois dans un certain temps je suppose) je ne me rappelle pas avoir eu des problèmes avant.
Toutes les idées plaire à tout le monde?
Ce qui semblait être une bonne plomb
http://blusmurf.net/2012/08/27/pecl-memcache-build-error/
Mais pas la joie encore
J'ai aussi enquêté sur cette question à partir de php-memcached de la page github
https://github.com/php-memcached-dev/php-memcached/issues/69
J'ai essayé avec la 2.1 et 2.2 maintenant, le piratage des fichiers pour essayer et se faire à construire. Toujours pas de chance...
J'ai essayé d'installer 1.0.16 de libmemcached à utiliser avec php-memcached-2.1, mais avait des erreurs de construction libmemcached 😉 je suis toujours googler et tripoter, ill vous laisser savoir. Ou je vais utiliser redis 😀
Bien que j'ai installé Memcached avec succès ( quelles erreurs avez-vous lors de la construction de libmemcached ? ), de même je vais pour Redis - comme dans mon cas, je veux les objets du cache, de stockage de Session qui sera le partage entre les différentes applications. Memcached ne peut pas être utilisé pour le stockage de Session ( pas atleast sans tordu approche ), d'où le redis, il est \m/
OriginalL'auteur joevallender | 2014-06-25
Vous devez vous connecter pour publier un commentaire.
Résolu par l'utilisation de cette combinaison:
J'Espère que cette aide.
J'ai essayé, et les œuvres.
Oui, il fonctionne. Si cela ne fonctionne pas pour VOUS de vérifier si vous n'avez pas libmemcached 1.1.16+ installé à la place de libmemcached 1.0.16+.
Ce gist peuvent aider
OriginalL'auteur flyankur
Si vous n'avez pas besoin de SASL, de répondre à ceci:
libmemcached répertoire [non] : non --disable-memcached-sasl
cela a fait le tour, sans passer par des failles ou d'avoir à télécharger et compiler des paquets spécifiques ou les versions à partir de la source
OriginalL'auteur Tom Mettam
Étape 1 - Installer SASL:
Étape 2 - Compiler libmemcached avec SASL installé:
Étape 3 - Installer PHP Memcached:
(Ne pas préciser
libmemcached-dir
)OriginalL'auteur Saul Fautley
Si vous n'avez pas besoin de sasl soutien ici est un moyen facile d'installer 2.2.X:
Puis exécutez
php5 -i
pour tester qu'il est installé 2.2.x correctementOriginalL'auteur rynop
Suit:
De l'installation:
Ubuntu 14.04.x LTS x64 (trusty tahr)
phpfarm (dernière version) avec pecl
PHP 5.4.40
memcached 2.2.0
REMARQUE: bien Évidemment, vous devez remplacer les chemins en fonction de votre système
OriginalL'auteur Roman NL
La procédure @rynop est très bonne et c'est super!
Maintenant, que diriez-vous souhaitez créer un package de déploiement? Ma cible de déploiement fonctionne sur Ubuntu 14.04 LTS et je veux le remplacer en amont
php5-memcached
paquet comme un simple .deb fichier.Pour cela, prenez une regardez fpm qui signifie "Flipper le Gestionnaire de Package" (sic). Sa fait pour créer des packages de presque n'importe quoi.
Après @rynop procédure, voici ce que j'ai fait:
Installer jordansissel/fpm
Ensuite, vérifiez le contenu du paquet que vous souhaitez remplacer, et nous allons reproduire pour nos propres fins.
J'ai compris dans la sortie que j'ai seulement besoin d'un peu de dossiers, j'ai donc créé.
Magie qui va se passer
OriginalL'auteur renoirb
Sur CentOS 7.2 installé libmemcached-devel version 1.0.16 vous devez répondre à la question avec /usr:
libmemcached directory [no] : /usr
OriginalL'auteur alamaby