djo074 Posté(e) le 27 mars 2016 Posté(e) le 27 mars 2016 Bonjour, J'ai installé DSM 6, en mode trompe la mort, et badaboom: Dans mon crontab, j'ai une ligne devant executer un script PHP toutes les minutes : */1 * * * * root php -f /volume1/web/folder/file.php Seulement voilà, depuis l'installation, il ne s'execute plus. Or manuellement ça marche et ça remplie ma base de donnée sous PHPmy admin. Un autre script .sh updatant dans ma domotique la température du Syno, fonctionne normalement. J'ai également essayé de faire depuis DSM planificateur de tache toutes les minutes également. mais ça ne fonctionne pas non plus: Script défini par l'utilisateur: /volume1/web/folder/file.php Si une ame charitable a une idée, d'avance merci. Djo. 0 Citer
pyjama11 Posté(e) le 27 mars 2016 Posté(e) le 27 mars 2016 (modifié) Salut, j'ai aussi eu ce souci ! En ssh le php s'éxecute sans souci, mais pas avec le cron. La solution que j'ai trouvée est un peu naze mais elle fonctionne (va savoir pourquoi). J'ai créé un .sh que j'éxecute depuis mon planificateur de tâches, et j'appelle le php depuis celui-ci. Seulement, ça ne fonctionne pas en indiquant le chemin absolu (dans ton cas la commande php /volume1/web/folder/file.php ) . Ce qu'il faut faire dans ton sh : cd volume1/ cd web/ cd folder/ php file.php Ça semble assez bête mais ça fonctionne EDIT : C'est normal si ça ne marchait pas dans ton planificateur de tâches, il faut pas mettre /volume1/web/folder/file.php mais php /volume1/web/folder/file.php ) Si ça fonctionne pas essaie ce que j'ai dit plus haut ^^ Modifié le 27 mars 2016 par pyjama11 0 Citer
devildant Posté(e) le 27 mars 2016 Posté(e) le 27 mars 2016 Bonjour, avez vous essayer de mettre le path de php, je ne sais pas ou il se trouve sur DSM 6 mais ca pourrais venir de la, l'environnement n'est peux etre plus charger comme avant lors des exécution en cron 0 Citer
pyjama11 Posté(e) le 27 mars 2016 Posté(e) le 27 mars 2016 @devildant, le path est le même, c'est /bin/php 0 Citer
devildant Posté(e) le 27 mars 2016 Posté(e) le 27 mars 2016 (modifié) il y a 5 minutes, pyjama11 a dit : @devildant, le path est le même, c'est /bin/php :) /bin/php /volume1/web/folder/file.php ne fonctionne pas ? ou /bin/sh -c php /volume1/web/folder/file.php ? ^^ apres autre option avez vous essayer avec un autre user que le root (on sait jamais) Modifié le 27 mars 2016 par devildant 0 Citer
djo074 Posté(e) le 27 mars 2016 Auteur Posté(e) le 27 mars 2016 Bonsoir, Merci pour vos réponses. Je n' y arrive pas quelque soit la méthode. J' obtiens l'erreur suivante : PHP Fatal error: Call to undefined function mysqli_connect() in /volume1/web/teleinfo-ed/ecod2sql.php on line 11 Alors qu'avant la mise a jour ça fonctionnait, et de toute façon depuis un navigateur j'écris normalement dans ma base de donnée. Pô drole! Merci aux gurus... de m'aider Djo 0 Citer
pyjama11 Posté(e) le 27 mars 2016 Posté(e) le 27 mars 2016 Bah le php est bien executé, après y'a une erreur dedans.. mysqli_connect() est pas reconnu, pourtant c'est une fonction qui devrait l'être. Ce mode de connexion à ta bdd commence est de moins en moins utilisé, peut-être qu'il a été supprimé dans la nouvelle version de php embarquée sur DSM6, essaie peut-être de te connecter avec PDO : <?php $instance = new PDO('mysql:host=localhost;dbname=nom_de_ta_bdd;charset=utf8', 'root', 'mot_de_passe'); ?> 0 Citer
djo074 Posté(e) le 27 mars 2016 Auteur Posté(e) le 27 mars 2016 Merci pour ta réponse Pyjama... et c'est l'heure... mais ..... toujours pas...... : PHP Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /volume1/web/teleinfo-ed/ecod2sql.php:13 Stack trace: #0 /volume1/web/teleinfo-ed/ecod2sql.php(13): PDO->__construct('mysql:host=loca...', 'root', 'pwsd****') Merci encore... Bon aller au dodo. Djo 0 Citer
pyjama11 Posté(e) le 27 mars 2016 Posté(e) le 27 mars 2016 Va dans WebStation et dans les paramètres PHP vérifie que l'extension pdo est bien activée 0 Citer
djo074 Posté(e) le 27 mars 2016 Auteur Posté(e) le 27 mars 2016 il y a 3 minutes, pyjama11 a dit : Va dans WebStation et dans les paramètres PHP vérifie que l'extension pdo est bien activée Il l'est, ainsi que mysqli ..... GRRRRRR 0 Citer
pyjama11 Posté(e) le 28 mars 2016 Posté(e) le 28 mars 2016 Bah alors là je vois pas du tout ^^C'est que ça vient de ton code je pense, mais c'est bizarre si ça marchait bien avant la MAJ ! 0 Citer
devildant Posté(e) le 28 mars 2016 Posté(e) le 28 mars 2016 bonjour je pense que ca peux venir de l’exécution de php cli, cela peux peux etre vous aidez http://stackoverflow.com/questions/5121360/command-line-php-mysql-connect-error 0 Citer
lauthdaniel Posté(e) le 28 mars 2016 Posté(e) le 28 mars 2016 Bonjour, J'ai le même problème , sous DSM 5 j'avais une tache planifier php -f /volume1/web/zibase/enregistre.php Actuellement cette tache ne marche plus? j'ai déjà essayer toute sorte de code et recherche sur le net, mais rien. Si quelqu'un a une suggestion. Merci 0 Citer
devildant Posté(e) le 28 mars 2016 Posté(e) le 28 mars 2016 (modifié) et depuis un invite de commande le script fonctionne normalement ? (l'histoire d’être sur) si oui c'est que lors de sont exécution dans le context du cronjob les librairies ne sont pas chargé. donc il va falloir les charger avant l’exécution. avec une commande du genre php -c /etc/php5/cli/php.ini -nf script.php si vous ne trouvez pas d'info je vous invite a contacter synology soit via le centre d'assistance dans DSM soit depuis leurs site https://account.synology.com/support/support_form.php Modifié le 28 mars 2016 par devildant 0 Citer
lauthdaniel Posté(e) le 29 mars 2016 Posté(e) le 29 mars 2016 Bonjour, Oui il fonctionne parfaitement quand je le lance directement depuis mon navigateur internet IE ? J'ai essayer ta ligne de comande dans le cron, mais toujours rien? Ci-joint une copie de l'erreur du planificateur de taches Merci 0 Citer
devildant Posté(e) le 29 mars 2016 Posté(e) le 29 mars 2016 il y a 20 minutes, lauthdaniel a dit : Bonjour, Oui il fonctionne parfaitement quand je le lance directement depuis mon navigateur internet IE ? J'ai essayer ta ligne de comande dans le cron, mais toujours rien? Ci-joint une copie de l'erreur du planificateur de taches Merci pour la commande php -c /etc/php5/cli/php.ini -nf script.php il faut adapter les path je ne sais pas ou se trouve le php.ini sur DSM 6. ensuite lancer un script depuis le navigateur ou en ligne de commande c'est pas la même chose. il faut exécuter la commande via ssh pour voir ce que ça donne 0 Citer
lauthdaniel Posté(e) le 29 mars 2016 Posté(e) le 29 mars 2016 Bonsoir, Je me connecte toujours avec Telnet, comment fait on en ssh ? Merci 0 Citer
devildant Posté(e) le 29 mars 2016 Posté(e) le 29 mars 2016 il y a 1 minute, lauthdaniel a dit : Bonsoir, Je me connecte toujours avec Telnet, comment fait on en ssh ? Merci a oki a partir du moment ou tu a lancé le script en ligne de commande c'est bon, mais dans le doute c'est pareil avec le port 22 au lieux du 23 0 Citer
djo074 Posté(e) le 29 mars 2016 Auteur Posté(e) le 29 mars 2016 Le 26/3/2016 at 00:31, djo074 a dit : Il l'est, ainsi que mysqli ..... GRRRRRR Salut, Etant en vacances, je suis le post de loin, et ne peux le tester à distance. Merci pour votre aide! Djo 0 Citer
iPhilGood Posté(e) le 29 mars 2016 Posté(e) le 29 mars 2016 Salut, J'étais confronté au même problème. Tu peux essayer php56 -f /volume1/web/folder/file.php Il semble qu'il y ait 2 interpréteurs PHP et qu'il n'utilise pas le même en ligne de commande... 1 Citer
devildant Posté(e) le 30 mars 2016 Posté(e) le 30 mars 2016 (modifié) Il y a 9 heures, iPhilGood a dit : Salut, J'étais confronté au même problème. Tu peux essayer php56 -f /volume1/web/folder/file.php Il semble qu'il y ait 2 interpréteurs PHP et qu'il n'utilise pas le même en ligne de commande... bon a savoir, mais au final un petit mail a synology permettrai d’éclaircir tout ça non ? note ça deja été fait sur le forum en https://forum.synology.com/enu/viewtopic.php?t=105754 Modifié le 30 mars 2016 par devildant 0 Citer
darKxyde Posté(e) le 30 mars 2016 Posté(e) le 30 mars 2016 Même problème chez moi, toutes les pages .php s’exécutent sans problème depuis un naviguateur, et avant la MAJ en cron, et depuis la MAJ, les mêmes types d'erreur lorsqu'on essaie en SSH... Aucune piste à ce jour. 0 Citer
loli71 Posté(e) le 30 mars 2016 Posté(e) le 30 mars 2016 il y a 5 minutes, darKxyde a dit : Aucune piste à ce jour. Ben si, iPhilGood a donné la solution 2 posts plus haut: Il y a 16 heures, iPhilGood a dit : Salut, J'étais confronté au même problème. Tu peux essayer php56 -f /volume1/web/folder/file.php Il semble qu'il y ait 2 interpréteurs PHP et qu'il n'utilise pas le même en ligne de commande... Appropriate PHP CLI --> /usr/local/bin/php56 0 Citer
devildant Posté(e) le 30 mars 2016 Posté(e) le 30 mars 2016 il y a 23 minutes, loli71 a dit : Ben si, iPhilGood a donné la solution 2 posts plus haut: Appropriate PHP CLI --> /usr/local/bin/php56 +1 ^^ 0 Citer
lauthdaniel Posté(e) le 30 mars 2016 Posté(e) le 30 mars 2016 Bonsoir, Super ca marche a nouveau a merveille, avec la commande php56 -f /volume1/web/script.php Merci beaucoup 0 Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.