Annonce

Lorsque vous exposez un problème que vous rencontrez sur votre site, n’omettez pas de bien préciser l’adresse de la page (URL) concernée.

Ouvrez un nouveau sujet de discussion pour poser une question, n'utilisez pas une discussion déjà ouverte si votre problème est différent.
Lorsque votre sujet est résolu, indiquez-le en cliquant sur le lien "Passer le sujet en résolu".

Pour les possesseurs de sites Minecraft : Tous les ports TCP/UDP en sortie sont ouverts.
Pour en savoir plus : https://www.franceserv.fr/wiki/minecraft

#1 15/07/2015 23:46:13

elodie
Responsable/CEO FranceServ Hébergement
Lieu : Jura
Inscription : 02/04/2010
Messages : 7 473
Site Web

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

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 ! smile

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 :

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à :

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 :

NeJAt2Gy.png

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) :

Ry58zf.png

Si vous avez des questions, n'hésitez pas.


P8OdseCN.gifVous 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, utilisez alors dans ce cas le formulaire de contact ou alors le téléphone.

Hors ligne

Pied de page des forums

[ Générées en 0.019 secondes, 9 requêtes exécutées - Utilisation de la mémoire : 603.81 Kio (pic d'utilisation : 644.08 Kio) ]