Attention, cet article date de 5 ans, les informations peuvent ne plus être à jour...
Je me disais depuis quelques temps que mon flux RSS n’était plus très bien rempli…
Bon, j’ai encore 300 articles de retard (littéralement) et j’étais presque content de rattraper peu à peu mon retard ! Mais en fait non, c’était juste que mon CRON ne fonctionnait plus.
J’ai suspecté mon hébergeur (Alwaysdata) au départ, puisqu’ils ont lancé, il y a peu, un outil remplaçant le Shell pour les tâches planifiées par une interface beaucoup plus intuitive et facile d’accès avec des choix déroulants avec une interface HTML qui vient compléter le reste de leur outils administratifs maison.
Après avoir lancé la commande dans le Shell (https://ssh-[moncompte].alwaysdata.net en remplaçant [moncompe] par votre compte) histoire de vérifier si la commande fonctionnait, j’ai eu la surprise de tomber sur l’erreur suivante :
PHP Warning: A non-numeric value encountered in /home/[moncompte]/www/[cheminFreshRSS]/lib/SimplePie/SimplePie/Parse/Date.php on line 694
Après quelques recherches il s’avère que cette erreur est apparue avec la nouvelle version de PHP 7.1.
Sous WordPress, par exemple, la librairie a été corrigée.
Pour ne plus avoir cette erreur, il faut donc appliquer le fix : remplacer la ligne
$second = round($match[6] + $match[7] / pow(10, strlen($match[7])));
par
$second = round((int)$match[6] + (int)$match[7] / pow(10, strlen($match[7])));
à la ligne 694 comme indiquée (fix ici : https://github.com/simplepie/simplepie/commit/1111dab1baced14aaf05509c41ee416c3fc6a961)
Et hop ! À vous la version 7.4 de PHP sans trop de souci !
Et mon retard de 300 articles supplémentaires au passage…
Edit du 06/04/2020 :
Finalement ça n’a résolu que partiellement mon problème, la mise à jour ne se faisait pas tout le temps.
La ligne de commande sur l’outil SSH ne m’indiquais plus d’erreur mais toujours un souci de mise à jour auto des flux.
En regardant ma version de FreshRSS j’ai vu qu’elle était en version 1.0, une version qui date… De quelques années… Et pas de mise à jour depuis sur mon serveur.
J’ai donc réinstallé FreshRSS avec la dernière version à jour et le problème semble résolu !
Du côté d’Alwaysdata, CRON n’étant plus dispo, les tâches planifiées remplacent cette fonction.
- Type de tâche : Exécuter la commande
- Valeur : php /home/[Votre compte]/www/[Dossier de FreshRSS]/app/actualize_script.php
- Périodicité : Choisir selon vos habitudes.
Le reste n’est pas à modifier.
Dans FreshRSS :
Paramètres > Authentification > cocher « Autoriser le rafraîchissement anonyme des flux ».
Si la case ne se coche pas, le faire manuellement en modifiant le fichier « data > config.php » et changer la ligne :
‘allow_anonymous_refresh’ => false
en
‘allow_anonymous_refresh’ => true