Partage
  • Partager sur Facebook
  • Partager sur Twitter

Class 'PDO' not found

    23 mai 2018 à 20:15:44

    Bonsoir à tous

    J'aurais besoin de votre aide pour comprendre un peu ce qui se passe dans mon script car là je ne vois pas du tout

    J'ai un script qui me sert à faire une action sur la page ou une action en arrière plan automatisé par un cron

    En gros, via le site ce script va pourvoir rechercher des infos de mon serveur (ram, cpu ect..) pour me les afficher sur ma page.

    Par un cron j'enregistre sur la BDD des infos sur la bande passante de ce serveur

    donc pour la page on va l'appeler index.php je vais chercher ce q'il me faut pas de problème

    pour le cron il ne fonctionne pas 

    pourquoi??? je sais pas alors je test la commande directement sur la console

    /bin/php /var/www/html/scripts/ajax.php listen=lan record=sql
    PHP Fatal error:  Class 'PDO' not found in /var/www/html/scripts/ajax.php on line 35
    
    Fatal error: Class 'PDO' not found in /var/www/html/scripts/ajax.php on line 35

    alors je test avec chrome directement http://localhost/scripts/ajax.php?listen=lan&record=sql

    et là ca fonctionne

    Quelqu'un peut il m'éclairer ???

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      23 mai 2018 à 20:46:30

      bonjour,

      parce que peut-être que l'extension pdo n'est pas activée dans le php.ini de php en cli, alors qu'elle l'est pour le php "normal" je dirais

      • Partager sur Facebook
      • Partager sur Twitter
      READ THE DOCS !
        24 mai 2018 à 21:47:04

        Salut à tous.
        Merci pour vos conseil, mais malgré toutes mes tentatives ça ne fonctionne pas.
        J'ai contourné le problème tellement ça me prenait la tête en faisant un script bash
        Ah precision qui est importante, c'est sur CentOS Web Panel
        • Partager sur Facebook
        • Partager sur Twitter
          25 mai 2018 à 10:03:21

          Salut,

          l'explication est simple, quand tu appelle directement le script, le contexte est bien dans le répertoire du script donc le chemin de l'include (je suppose) de PDO est correct.

          Or lorsque tu fais les appels AJAX, le contexte est le fichier chargé (index par exemple) donc tu n'es plus dans le répertoire du script en question.

          donc il faut que tu fasses un autoload pour les scripts Ajax ou que tu changes les chemins dans tous les scripts Ajax en pensant sur quel fichier/page ce script Ajax sera appelé.

          Est ce clair ?

          • Partager sur Facebook
          • Partager sur Twitter

          Class 'PDO' not found

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown