Sessions PHP ne sont pas enregistrés dans memcache

L'exécution d'une application à l'aide de php 5.4 sur AWS en utilisant Amazon Linux.

La version de PHP PHP 5.4.28.
memcache lib installé à partir d'AWS repo est php54-pecl-memcache-3.0.8-1.11.amzn1.x86_64

J'ai vérifié que php est l'utilisation de /etc/php.ini:

[root@ip-xx.xx.xx.xx]# php -i | grep Config
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

Le réglage de montrer que je devrais utiliser memcache:

[root@ip-10-40-17-119 etc]# grep "^session.save" php.ini
session.save_handler="memcache"
session.save_path="tcp://<elasticache-endpoint>:11211"

[root@ip-10-40-17-119 php.d]# php -i | grep session.save
session.save_handler => memcache => memcache
session.save_path => tcp://<elasicache-endpoint>:11211?persistent=1&weight=1&timeout=1&retry_interval=15 => tcp://<elasticache-endpoint>:11211?persistent=1&weight=1&timeout=1&retry_interval=15

Je peux telnet à partir de la boîte à la fin des point & port et de connecter correctement, de sorte que l'instance est en mesure de se connecter au serveur memcache.

Choses que nous avons essayé:

  • J'ai enlevé la tcp://à partir de php.fichier ini, et qui ne fait pas de différence - les séances sont toujours enregistrés dans des fichiers.
  • Nous avons changé de session.save_handler="memcache" à la session.save_handler="memcached"
  • chaque fois que nous faisons un changement, nous nous arrêtons le serveur httpd, et puis commencer à nouveau
  • nous avons même essayé de redémarrer les serveurs

Indépendamment de ce que nous avons essayé, les sessions sont stockées sur le disque dans le répertoire /var/lib/php/sessions.
Il y a une chose qui me manque, ou est-ce un connu 5.4 ou AWS problème?

Pouvez-vous essayer memcached en tant que gestionnaire au lieu de memcache?
Non, c'est l'héritage de code et utilise memcache pour db caches.
PHP 5.4.29 n'est pas l'héritage. Il suffit d'installer memcached module et lui donner un essai. Cela n'affectera pas votre code PHP de toute façon. Btw, avez-vous redémarré PHP (serveur si c'est un module ou le fpm si c'est fcgi) ?
Non, notre code qui utilise la memcache lib est l'héritage, et ne serait pas facile à mettre à jour de memcached. J'ai essayer de configurer simplement les sessions en php.ini pour utiliser memcached lib, et qui n'a pas changer quoi que ce soit. Et nous sommes arrêt et le démarrage du serveur web, et même essayé de redémarrer les serveurs - rien n'a changé.
juste pour avoir disparu au cours de la novice trucs: êtes-vous journalisation des erreurs de démarrage, peut-être de les afficher (display_startup_errors) et sont vous la vérification de votre error_log ?

OriginalL'auteur chris | 2014-06-12