1. ⭐⭐⭐ Grosse PROMO en cours sur ma plateforme SEO My Ranking Metrics
    Rejeter la notice

Comment activer le module pecl_http sous Debian 8 ?

Discussion dans 'Administration d'un site Web' créé par ortolojf, 5 Août 2015.

  1. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 834
    J'aime reçus:
    8
    Bonjour

    J'ai adapté le script tarteaucitron en PHP.

    Mais à chaque fois que ce cookie est réécrit, sa date d'expiration est prorogée de un an. ;(

    Il faudrait que je garde la date d'expiraton précédente, et pour celà la lire d'une manière ou d' une autre.

    Théoriquement, en PHP pour avoir cette date il suffirait que je puisse lire les headers http.

    J'ai regardé dans le Zend framework, en dernier recours il fait appel à la fonction apache_get_request_headers().

    Je sais, que dans la version 2 du module pecl_http , les fonctions de header n'existent pas.

    Seul existent les interfaces Objet du type : HttpResponse, et autres moyens d'accéder aux headers ( avec les caractéristiques des cookies ).

    Mais quand je fais sur mon serveur VPS : "php --rc HttpResponse", il me répond obstinément que cette classe n'existe pas.

    Ceci, malgré que j'ai compilé à la main, ( et sans erreur ), ce module pecl_http , en faisant : "perl install pecl_http".

    Quand je fais : "systemctl restart php5-fpm", il n'y a pas d'erreur.

    Egalement après démarrage de Apache 2.

    Comment faire pour avoir ces classes permettant de lire les headers ?

    Je n'ai plus que jusqu'au 1er Septembre avant de rendre mon tarteautrcitron compliant avec la directive Européenne. ;(

    Respectueusement.
     
  2. Bool
    Bool WRInaute passionné
    Inscrit:
    26 Février 2004
    Messages:
    1 546
    J'aime reçus:
    0
    Bonjour,

    je t'invite à regarder véritablement ce qui circule dans les entêtes HTTP (via l'extension LiveHTTPHeaders de PHP, par exemple), pour te rendre compte que cette information n'y est absolument pas présente.

    Par exemple, là tout de suite, l'entête Cookie complet que mon navigateur envoi sur un site :
    Code:
    Cookie: cb-enabled=enabled; crtg_rta=; _gat=1; _ga=GA1.2.1016790504.1410767077; _gat_newTracker=1
    De plus, même si l'information y était présente, l'extension http permet de reproduire une connexion HTTP, aucunement d'extraire des informations de la connexion traitée par PHP.

    Mais si tu tiens à essayer malgré tout par toi même, la réponse à ta question est :
    Code:
    apt install php5-pecl-http
    (cf https://packages.debian.org/jessie/php5-pecl-http)
     
  3. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 834
    J'aime reçus:
    8

    Bonjour Bool

    Ok, j'ai regardé le sen-têtes http avec la méthode : http\Env::getRequestHeader() , et effectivement il n'y a pas le détail des cookies.

    Celà veut-il dire qu'il faut nécessairement passer par javascript pour obtenir le détail des cookies ?

    En ce qui concerne la méthode: 'apt-get install php5-pecl-http' , c'est ce que j'ai fait au début, mais la classe HttpResponse n'était pas présente, alors j'ai fait une compilation manuelle de pecl_http avec 'pecl install pecl/http'.

    Et là, pas plus de classe que sous le sabot d'un cheval. ;)

    C'est plutôt HttpRequest qu'il faut, mais si le détail des cookies n'est pas dans les en-têtes http... ;(

    Respectueusement.
     
  4. Bool
    Bool WRInaute passionné
    Inscrit:
    26 Février 2004
    Messages:
    1 546
    J'aime reçus:
    0
    Hello,

    habituellement pour ce type de chose, il suffit d'inclure la date dans le cookie. Par exemple, quand si tu veux stocker la valeur "a", tu stockes en fait "a:20150809", comme ça tu sais que tu as posé le cookie le 09/08/2015, et tu ajustes en fonction de ça.
     
  5. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 834
    J'aime reçus:
    8

    Bonjour Bool ;)

    J'ai mis au point mon implémentation PHP de tarteaucitron de cette manière :

    Le cookie tarteaucitron, contient maintenant : "tarteaucitron =!service1=(0|1|true|false)!service2=(0|1|true|false) .. etc... ,expireDate=[0-9]+;expires=toUTCString([0-9]);path=/"

    Les deux [0-9] sont le time Javascript ( en millisecondes ), de la date d'expiration du cookie.

    Quand je veux simplement updater le cookie ( sans changer sa date d'expiration ), je lis sa valeur ( value ), et expireDate ( valeur_lue ), puis je reconstruis la valeur entière du cookie, pour l'écraser en faisant : document.cookie = 'tarteaucitron=' + value + ',expireDate=' + valeur_lue + ';expires=' + valeur_lue + ';path=/';

    J'ai un problème.

    Quand j'update le cookie ( de la même manière dans les deux cas mais avec une fonction différente ), par service ou entièrement, j'obtiens deux résultats différents :

    - Par service : Le cookie a bien une date d'expiration notée par le navigateur ( Chrome ou Firefox ),

    - Entièrement : Le cookie est considéré par le navigateur comme un cookie de session.

    Dans ce cas, il disparaît sous Firefox mais pas sous Chrome, quand j'arrête le navigateur.

    Le problème, semble être lié au fait que dans le premier cas ( je met à jour systématiquement le cookie au début de mon script ), le cookie n' a pas besoin d' être mis à jour, puisqu'il ne change pas.

    Mais ce n'est pas sûr.

    Il est sûr dans tous les cas, que le cookie a bien la bonne date d'expiration , en le visualisant avec 'window.alert(document.cookie);' j'obtiens la bonne valeur du cookie et de expireDate.

    expireDate ne change pas, même qiuand le cookie est modifié.

    Ceci se produit, quand le visiteur change ses préférences par rapport à un ou plusieurs services.


    Mais c'est vrai que je ne peux pas ( même de cette façon , avec "window.alert (document.cookie);" ), visualiser le champ ';expires=[0-9]'.

    Simplement, il n'y a aucune différence de code Javascript dans les deux cas de modification.

    Je ne sais pas quoi faire.

    J'ai mis de nouveau la dernière version de mon script sur mon site.

    Merci beaucoup de ton aide. ;)

    Respectueusement.
     
  6. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    2 834
    J'aime reçus:
    8
    Rebonjour Bool

    Voilà le problème est corrigé. ;)

    Je pense qu'on peut considérer la version actuelle comme une "release". ;)

    Simplement, quand le cookie n'a pas changé, je ne le réécrit pas.

    Cà a l'air de marcher avec Chrome, dans tous les cas le cookie est considéré comme un vrai cookie ( pas de session), et la date d'expiration est indiquée et ne change pas.

    Je file vérifier avec Firefox.

    Merci.

    Respectueusement.
     
Chargement...
Similar Threads - activer module pecl_http Forum Date
Comment activer le rapport du commerce élétronique ? Google Analytics 8 Juillet 2019
Comment désactiver les commentaires sur un blog ? Problèmes de référencement spécifiques à vos sites 26 Août 2018
Google Chrome va activer son bloqueur de publicités en février Monétisation d'un site web 31 Janvier 2018
Faut-il activer les fichiers media dans le sitemap (Yoast) ? Crawl et indexation Google, sitemaps 18 Octobre 2017
Comment réactiver mon compte Instagram ? Autres réseaux sociaux 21 Septembre 2017
Désactiver une catégorie de produit Administration d'un site Web 11 Septembre 2017
Demande conseil pour activer des services sur Google et Google Image Référencement Google 30 Avril 2017
PLUGIN WP "REDIRECTIONS" : génial mais gros bug qui m'oblige à le désactiver Netlinking, backlinks, liens et redirections 12 Janvier 2017
Activer commentaires pour réalisations Demandes d'avis et de conseils sur vos sites 1 Janvier 2017
Activer la compression GZIP ? Administration d'un site Web 20 Mai 2016
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice