[ar] [ca] [cpf] [de] [en] [es] [fr] [it]

Ce forum d’entraide est recommandé pour les utilisateurs et utilisatrices occasionnels de SPIP (Système de publication pour l’Internet). Avant de poser une question, faites une recherche sur ce site, consultez les liens utiles. Si vous ne trouvez pas de réponse, postez votre message dans la rubrique appropriée, avec un titre explicite.

Sujets : 24073 Sujets résolus :  39 %

71 visiteurs en ce moment


Accueil > Forums de discussion >  Installation, mise-à-jour > Problème avec les statistiques de mon site web

Problème avec les statistiques de mon site web Résolu

par DMK - 28 janvier 10:53 - Réponse(s) : 9

Comment faire pour ne plus affiché ce message sur mon site

Warning : Illegal string offset ’autre 0 ’ in /home/douanes/www/plugins-dist/statistiques/public/stats.php on line 142


  • Bonjour,

    Quelles version de SPIP et de PHP ?


  • SPIP 3.1.3 [23214]


  • le lien de mon site en développement

    http://douanes.alwaysdata.net


  • Regardez pour mettre à jour le php déjà. 5.5 ou 5.6


  • Bonjour
    Le problème est pas dans la version php, Je l’ai rencontré le même problème
    Bon : Allez dans le dossier votre-domain/plugins-dist/statistiques/public/
    - Ouvrez le fichier stat.php et copie ce code
    Copiez ce code et le remplacer

    1. <?php
    2.  
    3. /***************************************************************************\
    4.  * SPIP, Systeme de publication pour l'internet *
    5.  * *
    6.  * Copyright (c) 2001-2016 *
    7.  * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
    8.  * *
    9.  * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
    10.  * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
    11. \***************************************************************************/
    12.  
    13. /**
    14.  * Loguer une visite
    15.  *
    16.  * @plugin Statistiques pour SPIP
    17.  * @license GNU/GPL
    18.  * @package SPIP\Stats\Public
    19.  **/
    20.  
    21. if (!defined("_ECRIRE_INC_VERSION")) {
    22. return;
    23. }
    24.  
    25. /**
    26.  * Logue une visite sur une page
    27.  *
    28.  * Enregistre le passage d'un visiteur sur la page demandée
    29.  * dans `tmp/visites/` qui seront ensuite traitées par une tache cron.
    30.  *
    31.  * Ne tient pas compte
    32.  * - des visites de robots,
    33.  * - des 404,
    34.  * - des forum
    35.  *
    36.  * @see genie_visites_dist() Pour la tache cron qui traite les logs.
    37.  *
    38.  * @param array|null $contexte
    39.  * Contexte d'appel de la page ; retrouvé automatiquement sinon.
    40.  * @param string|null $referer
    41.  * Referer de provenance ; retrouvé automatiquement sinon.
    42.  * @return null|void
    43.  **/
    44. function public_stats_dist($contexte = null, $referer = null) {
    45. if (!is_array($contexte)) {
    46. $contexte = $GLOBALS['contexte'];
    47. }
    48. if (is_null($referer)) {
    49. // $_SERVER["HTTP_REFERER"] ne fonctionne pas partout
    50. if (isset($_SERVER['HTTP_REFERER'])) {
    51. $referer = $_SERVER['HTTP_REFERER'];
    52. } else {
    53. if (isset($GLOBALS["HTTP_SERVER_VARS"]["HTTP_REFERER"])) {
    54. $referer = $GLOBALS["HTTP_SERVER_VARS"]["HTTP_REFERER"];
    55. }
    56. }
    57. }
    58.  
    59. // Rejet des robots (qui sont pourtant des humains comme les autres)
    60. if (_IS_BOT or (isset($referer) and strpbrk($referer, '<>"\''))) {
    61. return;
    62. }
    63.  
    64. // Ne pas tenir compte des tentatives de spam des forums
    65. if ($_SERVER['REQUEST_METHOD'] !== 'GET'
    66. or (isset($contexte['page']) and $contexte['page'] == 'forum')
    67. ) {
    68. return;
    69. }
    70.  
    71. // rejet des pages 404
    72. if (isset($GLOBALS['page']['status'])
    73. and $GLOBALS['page']['status'] == 404
    74. ) {
    75. return;
    76. }
    77.  
    78. // Identification du client
    79. $client_id = substr(md5(
    80. $GLOBALS['ip'] . (isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '')
    81. // . $_SERVER['HTTP_ACCEPT'] # HTTP_ACCEPT peut etre present ou non selon que l'on est dans la requete initiale, ou dans les hits associes
    82. . (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : '')
    83. . (isset($_SERVER['HTTP_ACCEPT_ENCODING']) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : '')
    84. ), 0, 10);
    85.  
    86. // Analyse du referer
    87. $log_referer = '';
    88. if (!isset($GLOBALS['meta']['activer_referers']) or $GLOBALS['meta']['activer_referers'] == "oui") {
    89. if (isset($referer)) {
    90. $url_site_spip = preg_replace(',/$,', '',
    91. preg_replace(',^(https?://)?(www\.)?,i', '',
    92. url_de_base()));
    93. if (!(($url_site_spip <> '')
    94. and strpos('-' . strtolower($referer), strtolower($url_site_spip))
    95. and strpos($referer, "recherche=") === false)
    96. ) {
    97. $log_referer = $referer;
    98. }
    99. }
    100. }
    101.  
    102. //
    103. // stockage sous forme de fichier tmp/visites/client_id
    104. //
    105.  
    106. // 1. Chercher s'il existe deja une session pour ce numero IP.
    107. $content = array();
    108. $fichier = sous_repertoire(_DIR_TMP, 'visites') . $client_id;
    109. if (lire_fichier($fichier, $content)) {
    110. $content = @unserialize($content);
    111. }
    112. // fichier absent probablement (ou problème unserialize)
    113. if (!is_array($content)) {
    114. $content = array();
    115. }
    116.  
    117. // 2. Plafonner le nombre de hits pris en compte pour un IP (robots etc.)
    118. // et ecrire la session
    119. if (count($content) < 200) {
    120.  
    121. // Identification de l'element
    122. if (isset($contexte['id_article'])) {
    123. $log_type = "article";
    124. } else {
    125. if (isset($contexte['id_breve'])) {
    126. $log_type = "breve";
    127. } else {
    128. if (isset($contexte['id_rubrique'])) {
    129. $log_type = "rubrique";
    130. } else {
    131. $log_type = "";
    132. }
    133. }
    134. }
    135.  
    136. if ($log_type) {
    137. $log_type .= "\t" . intval($contexte["id_$log_type"]);
    138. } else {
    139. $log_type = "autre\t0";
    140. }
    141.  
    142. $log_type .= "\t" . trim($log_referer);
    143. if (isset($content[$log_type])) {
    144. $content[$log_type]++;
    145. } else {
    146. $content[$log_type] = 1;
    147. } // bienvenue au club
    148.  
    149. ecrire_fichier($fichier, serialize($content));
    150. } else {
    151. $flood = sous_repertoire(_DIR_TMP, 'flood') . $GLOBALS['ip'];
    152. @touch($flood);
    153. }
    154. }

    Télécharger


    - Vider le cache
    - Si il reste le même problème ne hésitez pas à me contacter.


  • < #8 > Problème avec les statistiques de mon site web ˆ
    par DMK Consulting - 15 mars 12:54

    Merci le problème a été résolu.


  • De rien monsieur


  •  


Répondre à la question

« Problème avec les statistiques de mon site web »

Mots-clés

Vous pouvez étiqueter cette page de forum avec les mots-clés qui vous semblent les plus appropriés ; ils permettront aux prochains visiteurs du site de mieux se repérer :


Installation, mise à jour

Utilisation de l’espace privé

Administration, gestion, configuration du site

Créer ses squelettes

Qui êtes-vous ?