Partage
  • Partager sur Facebook
  • Partager sur Twitter

[cron] Utilisation d'un cron sur un script php

Sujet résolu
    17 mai 2019 à 15:28:09

    Bonjour,

    Alors voilà, il y a quelques jours j'ai posté une demande d'aide pour l'api google sur le forum pour php,mais j'ai fini par résoudre mon problème seul.
    J'ai continué à travailler et j'ai obtenu ce que je souhaitais, en d'autres termes un script php fonctionnel qui fait ce que j'ai besoin.

    Maintenant le problème est le suivant:
    Je dois exécuter via cron ce script, j'ai donc programmé via cron son exécution de cette manière : 

    20 14 17 5 5 php /my/path/to/my/script.php

    normalement ce script doit faire tout un tas de choses et me généré des fichiers de rapport sur le travail effectué.
    Après que le temps d'exécution par cron ai été passé j'ai voulu aller voir les rapports en question, et là surprise aucun rapport.

    J'ai donc testé manuellement la commande que j'avais demandé à cron:

    [...]$ php  /my/path/to/my/script.php

    et là j'ai quelques petits problèmes que voici :

    PHP Fatal error:  Uncaught InvalidArgumentException: file does not exist in /my/path/to/my/vendor/google/apiclient/src/Google/Client.php:859
    Stack trace:
    #0 /my/path/to/my/script.php(12): Google_Client->setAuthConfig('mysupersecretfile.json')
    #1 /my/path/to/my/script.php(21): getClient()
    #2 {main}
      thrown in /my/path/to/my/vendor/google/apiclient/src/Google/Client.php on line 859
    
    Fatal error: Uncaught InvalidArgumentException: file does not exist in /my/path/to/my/vendor/google/apiclient/src/Google/Client.php:859
    Stack trace:
    #0 /my/path/to/my/script.php(12): Google_Client->setAuthConfig('mysupersecretfile.json')
    #1 /my/path/to/my/script.php(21): getClient()
    #2 {main}
      thrown in /my/path/to/my/vendor/google/apiclient/src/Google/Client.php on line 859


    Je ne vois pas d'ou viennent ces erreurs car mon script fonctionne quand je suis depuis mon navigateur et quand je suis dans le dossier du script.php.
    L'execution se fait hors du dossier du script.php

    Si vous pouvez m'aider, je suis toute ouïe
    Cordialement

    G.G


    • Partager sur Facebook
    • Partager sur Twitter

    Il n'y a pas de personne "bête" juste leur cerveau qui visualise différemment les choses

      17 mai 2019 à 15:40:27

      salut,

      à tout hasard...

      un script inscrit dans une tâche cron doit indiquer le chemin absolu vers les fichiers et exécutables utilisés, parce que cron a un PATH restreint.

      • Partager sur Facebook
      • Partager sur Twitter
      « un problème clairement exposé est à moitié résolu. » | je ne réponds pas aux questions techniques par MP.
        17 mai 2019 à 15:51:58

        Merci pour ta réponse,

        c'est vrai que j'ai pensé à mettre le chemin absolu dans l'appel mais je pensais que php saurais trouver les fichiers par lui même avec les chemins relatifs.

        Comme il le fait en temps normal.

        -
        Edité par Galaxy Ghost 17 mai 2019 à 15:52:32

        • Partager sur Facebook
        • Partager sur Twitter

        Il n'y a pas de personne "bête" juste leur cerveau qui visualise différemment les choses

        [cron] Utilisation d'un cron sur un script php

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown