Bonjour après quelques tests ce que j'ai constaté et fait.
Pas simple d'ailleurs les tests vu que je suis sur un hébergement perso donc sans ssh
obligé d'attendre que le cron re-exécute le script (toutes les heures :-| )
- la commande which visiblement ne fonctionne pas ou alors
chez ovh le binaire php porte un nom particulier (la suite tend à le démontrer)
- j'ai donc mis en dur dans le script le chemin vers php
Code:
for TEST_PHP_BIN in php5 php; do
if which $TEST_PHP_BIN >/dev/null 2>/dev/null; then
PHP_BIN=`which $TEST_PHP_BIN`
break
fi
done
#force valeur ovh
PHP_BIN="/usr/local/bin/php.ORIG.5.2.11"
j'ai pas eu le temps de tester avec un valeur plus générique.
- lorsque on execute php a la ligne de commande le résultat commence
par un entete genre :
Code:
X-Powered-By: PHP/5.2.10...
ce qui pose problème pour l'interprétation du résultat
j'avais cru comprendre qu'en ajoutant le paramètre -q cet entête était
supprimé. Malheureuse lorsque je le positionne la commande échoue, le
script s'arrête sans signaler la cause.
Dans le script on fait appel deux fois à la commande php la première pour déterminer le "TOKEN_AUTH" de Piwik. Le deuxième appel utilise cette valeur
pour lancer l'archivage à proprement parle. Comme la valeur retournée pas le
premier appel n'est pas correcte le deuxième ne peut s'exécuter.
Pour contourné le pb j'ai la encore mis en dur le "TOKEN_AUTH" dans le script.
Code:
CMD_TOKEN_AUTH="$PHP_BIN $PIWIK_PATH -- module=API&method=UsersManager.getTokenAuth&userLogin=$PIWIK_SUPERUSER&md5Password=$PIWIK_SUPERUSER_MD5_PASSWORD&format=php&serialize=0"
TOKEN_AUTH=`$CMD_TOKEN_AUTH`
TOKEN_AUTH="9cb3d507bfxxxxxxxxxxxxxx"
On trouve cette valeur dans la page API de son Piwik...
Pour le moment il ne s'agit ici que de contournements mais ça
fonctionne si quelqu'un connait une solution un peu plus propre...
ken@vo
Phil