Mises à jour PHP et mise en place de memcache pour sessions & données

Les annonces officielles de FranceServ Hébergement.
Avatar de l’utilisateur
Elodie
Fondatrice / Responsable
Fondatrice / Responsable
Messages : 7937
Inscription : 2 avril 2010 à 20:14

Bonjour,

Les différents moteurs PHP présents sur les serveurs Web (BackEnd) de la plateforme de FranceServ Hébergement ont tous été mis à jour intégralement.

La branche de :
  • PHP 5.4 passe de la version 5.4.42 à la version 5.4.43
  • PHP 5.5 passe de la version 5.5.26 à la version 5.5.27
  • PHP 5.6 passe de la version 5.6.10 à la version 5.6.11
PHP 5.3 ne bouge pas, ni PHP 7.0 qui n'est pas encore en production.

PECL memcache et memcached

Pour rappel : Memcache est un système servant généralement à gérer une mémoire cache distribuée. Il est souvent utilisé pour augmenter la vitesse de réponse des sites web créés à partir de bases de données. Il gère les données et les objets en RAM de façon à réduire le nombre de fois qu'une même donnée stockée dans un périphérique externe est lue.

Par exemple, les sites tels que YouTube, Facebook et Twitter utilisent ce système. (source Wikipedia)

C'est alors avec plaisir que je vous annonce la mise en place des extensions PECL memcache et memcached chez FranceServ Hébergement ! :)

Ainsi, les hébergés expérimentés qui souhaiteraient les utiliser pour leurs sites afin de les rendre encore plus rapides, peuvent mettre en place une telle solution.

Chacun des hébergés dispose alors d’une base memcache à son nom et accessible uniquement depuis leurs sites sur le socket suivant : unix:///tmp/httpd/memcache/<identifiant>.socket (<identifiant> est à remplacer pas l'identifiant du compte concerné).

En outre, les sessions PHP des nouveaux sites crées seront gérées automatiquement par memcache pour encore plus de performances, remplaçant l’ancien système qui était par fichiers. Les sessions de chacun des hébergés sont ainsi sauvegardées dans leurs bases memcache respectives par défaut sans qu'il y ai à modifier quoi que ce soit.

Dans quelques jours, je procéderai par petits groupes de sites, à la modification du moteur des sessions PHP pour les sites déjà existants qui ne sont pas encore passés sur ce nouveau système.

Il faut noter également que les protections en places font qu'un hébergé ne peut pas lire les sessions ou les données en mémoire memcache d’un autre hébergé.

Par la même occasion, la variable d'environnement système « session.save_path » et maintenant modifiable via la fonction ini_set() de PHP si l’on souhaite affiner sa configuration.

La configuration précédente était celle-ci :

Code : Tout sélectionner

ini_set('session.save_handler', 'files');
ini_set('session.save_path', ‘/tmp/httpd/session’);
Dorénavant, la nouvelle configuration par défaut est celle-là :

Code : Tout sélectionner

ini_set('session.save_handler', 'memcache');
ini_set('session.save_path', ' unix:///tmp/httpd/memcache/<identifiant>.socket');
Sachez que bien qu'il soit possible de modifier soit même ces informations via développement PHP pour les hébergés expérimentés, il est également possible de choisir simplement le moteur de sessions PHP depuis l'interface de gestion :

Image

Pour y accéder, il suffit de se rendre dans l'interface de gestion FSH et de cliquer sur la bille de couleur en face du site concerné, puis vous trouverez dans l'onglet "Options PHP" le champ "Sessions PHP".

Concernant les messages d’erreurs, si un hébergé utilise le socket des sessions d’un autre hébergé par inadvertance, aucun message d’erreur ne s’affiche, les sessions ne sont ni obtenus ni enregistrées. Tout est parfaitement sécurisé.

Si un hébergé se connecte sur le socket des sessions d’un autre hébergé par erreur avec un connect(), l’erreur suivante apparait :
Warning: Memcache::connect(): Can't connect to unix:///tmp/httpd/memcache/<identifiant>.socket:0, Permission denied (13)
Là encore, le système est protégé.

Pour information, les extensions PECL memcache et memcached font en gros la même chose car elles s’appuient sur le même service : memcache.

Si vous souhaitez regarder encore un peu plus loin cette puissante fonction, je vous propose de tester cette solution : https://code.google.com/p/phpmemcacheadmin/ sur votre site dans un répertoire protégé à l'aide d'un mot de passe via .htaccess par exemple

Voilà une capture écran de quelques essais (pas forcément exhaustifs) :


Image

Si vous avez des questions, n'hésitez pas.
Vous avez une question ? Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, contactez-nous directement.
Répondre