Jump to content
  • 0
Sign in to follow this  
Matthieu Moy

[Solution] mise à jour des flux tt-rss via un cron job

Question

Bonjour,

Ce n'est pas une question, mais plutôt une réponse :-). Le lecteur RSS tt-rss a besoin d'un démon ou d'une tâche planifiée pour mettre à jour les flux RSS. Maintenant que Yulpa gère les tâches planifiées, on peut avoir un tt-rss bien configuré. Quelques subtilités, donc je partage mes trouvailles pour les configurer :

Les tâches planifiées sont dans la sous-section « Fichiers & Accès -> Tâches planifiées ». Malheureusement, tt-rss demande d'exécuter la commande

php update.php --feeds

et les tâches de Yulpa ne prennent pas d'arguments, donc on ne sait pas où mettre le --feeds. Solution : créer un autre script PHP qui va appeler update.php correctement. Là, php va râler que les modules MySQL, JSON, mbstring et DOM ne sont pas actifs. Solution : appeler PHP avec "-d extension=..." pour chacune des extensions nécessaires (bizarement l'éditeur de php.ini fourni par Yulpa n'a pas l'air de faire ce qu'il faut). Au final, mon script "self-update.php" est le suivant :

<?php

if (!defined('PHP_BINARY'))
  define('PHP_BINARY', '/usr/bin/php');

$cmd = PHP_BINARY . " " .
  "-d extension=json.so -d extension=mysqli.so -d extension=dom.so -d extension=mbstring.so " .
  __DIR__ . DIRECTORY_SEPARATOR . 'update.php --feeds';
echo($cmd . "\n");

system($cmd);

?>

La tâche planifiée exécute ce script toutes les heures.

On peut aussi lancer la mise à jour manuellement via l'accès SSH :

php self-update.php

 

  • Upvote 1

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Bonjour, 

merci pour ce tuto que j'épingle :) 

Le php.ini construit par iWal ne présente pas les bons modules PHP ? Si c'était le cas ils ne seraient pas utilisables normalement :/ 

Share this post


Link to post
Share on other sites
  • 0
37 minutes ago, Aurélien PONCINI said:

Bonjour, 

merci pour ce tuto que j'épingle :) 

Le php.ini construit par iWal ne présente pas les bons modules PHP ? Si c'était le cas ils ne seraient pas utilisables normalement :/ 

 

Les modules sont utilisables sans problème via le serveur web. Ici c'est de la commande PHP en ligne de commande qu'il s'agit. Par défaut, les modules ne sont pas actifs. Dans iWall, dans la gestion des tâches planifiées il y a un bouton « éditer le php.ini » qui permet de choisir les modules et de les activer (tout en bas de l'écran), mais même en les activant à cet endroit j'ai toujours les erreurs de tt-rss qui ne les trouve pas. Je soupçonne que c'est mon utilisation de "system(PHP_BINARY ...)" qui fait que la commande php qui exécute self-update.php et celle du fork qui exécute update.php ont un php.ini différent. Bref, je ne suis pas certain de l'explication, mais sans les "-d extension=..." ça ne marche pas, et avec, ça marche ;-).

Share this post


Link to post
Share on other sites
  • 0

Bonjour, 

on est bien d'accord que l'on parle de ce qui est exécuté en cron, les tests fonctionnels ne sont pas fait en SSH ? (car en SSH c'est encore un environnement différent :( ) 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×