Oonnay Posté(e) le 7 septembre 2024 Posté(e) le 7 septembre 2024 (modifié) Bonjour, J'ai une page PHP qui fonctionne parfaitement en ligne et je voudrais la faire exécuter quotidiennement par le "Planificateur de tâches" : /usr/bin/php -f /volume1/web/brs/cron.php >> /volume1/web/brs/log.txt Le "Planificateur de tâches" l'exécute mais cela crée une erreur dès la demande d'ouverture de la base de données dans le code : Fatal error: Uncaught PDOException: could not find driver in /volume1/web/brs/BdD.php:2 Stack trace: #0 /volume1/web/brs/BdD.php(2): PDO->__construct('mysql:host=loca...', '******...', '******...') #1 /volume1/web/brs/cron.php(2): include('/volume1/web/br...') #2 {main} thrown in /volume1/web/brs/BdD.php on line 2 Sachant que cela fonctionnait sous DSM6 et plus depuis le passage à DSM7, une idée pour régler ce problème ? Merci. Modifié le 11 septembre 2024 par Oonnay
DaffY Posté(e) le 9 septembre 2024 Posté(e) le 9 septembre 2024 Bonjour En ligne de commande directe il est probable que l'environnement php utilisé n'ait pas tous les modules de chargés.Faire un petit script contenant phpinfo (avec sortie dans un fichier) pour vérifier les modules présents serait à mon avis un début de piste 1
PiwiLAbruti Posté(e) le 9 septembre 2024 Posté(e) le 9 septembre 2024 Il existe plusieurs environnements PHP sur DSM. En console, entre php suivi de la touche [Tabulation] : user@DiskStation:~$ php php php74 php74-cgi php74-fpm php80 php80-cgi php80-fpm php82 php82-cgi php82-fpm phpdbg74 phpdbg80 phpdbg82 En utilisant le bon shebang au début du script PHP, la ligne d'exécution pourrait se réduire à /volume1/web/brs/cron.php dans le planificateur de tâches : #!/bin/env php82 echo 'Hello World!'; Je ne sais plus quels exécutables ont les modules inclus. À tester.
Oonnay Posté(e) le 11 septembre 2024 Auteur Posté(e) le 11 septembre 2024 (modifié) Le 09/09/2024 à 9:51 AM, DaffY a dit : Bonjour En ligne de commande directe il est probable que l'environnement php utilisé n'ait pas tous les modules de chargés. Faire un petit script contenant phpinfo (avec sortie dans un fichier) pour vérifier les modules présents serait à mon avis un début de piste Je n'aurais jamais imaginé que cela soit possible. Du coup, une fois pdo_mysql activé, cela marche beaucoup mieux. Un grand merci pour l'info ! Modifié le 11 septembre 2024 par Oonnay
Lelolo Posté(e) le 11 septembre 2024 Posté(e) le 11 septembre 2024 Le problème est maintenant résolu. N'hésitez pas à ouvrir un nouveau message en cas de problème. Ceci est une réponse automatique.
Messages recommandés