Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exécution d'un script PHP à partir d'un .bat

Problème de chargement des extensions

Sujet résolu
    16 octobre 2020 à 9:10:40

    Bonjour.

    J'ai un script PHP qui utilise l'extension php_pdo_odbc.dll pour se connecter à une base de données en ODBC.

    Lorsque je l'exécute avec apache, dans un navigateur, tout fonctionne bien.

    Mais lorsque je l'exécute à partir d'un fichier .bat sur windows, j'ai ce message d'erreur : "PHP Warning - PHP Startup: Unable to load dynamic library 'C:\php5\php_pdo_odbc.dll'  - Le module spécifié est introuvable".

    Premier problème, le dossier C:\php n'existe pas. Mon fichier php.exe se situe C:\MonProgramme\PHP-5.3.1.

    Dans ce dossier, j'ai bien un dossier ext avec le fichier php_pdo_odbc.dll. Et j'ai bien activé l'extension dans mon fichier php.ini.

    Je ne comprends pas pourquoi lorsque j'exécute mon script PHP dans mon fichier .bat, il va chercher les éléments dans un dossier C:\php qui n'existe pas ?

    Le contenu de mon fichier .bat :

    "C:\MonProgramme\PHP-5.3.1\php.exe" -f "C:\MonProgramme\Apache\htdocs\Include\MonScript.php"
    pause


    Merci pour votre aide 

    • Partager sur Facebook
    • Partager sur Twitter
      16 octobre 2020 à 9:34:56

      Salut,

      il faut que tu connaisses la vesion de PHP CLI et que tu le mettes dans le PATH (le bin de PHP)

      • Partager sur Facebook
      • Partager sur Twitter
        16 octobre 2020 à 11:46:14

        Salut,

        Merci pour ta réponse.

        J'ai bien ajouté mon dossier PHP CLI dans le PATH, mais cela n'a pas résolu le problème.

        Lorsque j'exécute mon script à partir d'un .bat, j'ai toujours le même message.

        • Partager sur Facebook
        • Partager sur Twitter
          16 octobre 2020 à 11:57:28

          Quelle est la valeur de extension_dir donnée par C:\MonProgramme\PHP-5.3.1\php.exe -i?

          Est-ce que :

          "C:\MonProgramme\PHP-5.3.1\php.exe" -d extension_dir=C:\MonProgramme\PHP-5.3.1\ext -f "C:\MonProgramme\Apache\htdocs\Include\MonScript.php"
          

          "résout" ce problème ?

          -
          Edité par julp 16 octobre 2020 à 11:59:43

          • Partager sur Facebook
          • Partager sur Twitter
            16 octobre 2020 à 12:30:49

            Lorsque j'exécute cette commande, je ne trouve pas l'argument extension_dir, mais j'ai vu qu'il n'était pas décommenté dans le php.ini.

            J'ai essayé de modifier le fichier .bat avec cette ligne, ça résoud effectivement le problème.

            Par contre, ça me crée un nouveau problème par rapport à l'exécution du script PHP sur navigateur via Apache.

            J'ai une connexion en ODBC à une base de données postgreSQL, mais lorsque j'exécute le script PHP avec le .bat, il essaye de remplacer la connexion ODBC par une connexion postgreSQL directe. Je vais voir comment corriger ça.

            Merci beaucoup

            Edit : Je viens simplement de décommenter l'extension php_pdo_postgre.dll, ce qui a résolu le second problème.

            Merci encore pour votre aide.

            -
            Edité par Florian84 16 octobre 2020 à 12:34:41

            • Partager sur Facebook
            • Partager sur Twitter
              16 octobre 2020 à 12:49:06

              Bah forcément , si la DLL de postgre pas accessible, il passe ensuite au suivant, ODBC.

              C'est comme si tu bossais avec mysql en commentant les DLL de mysql ;)

              • Partager sur Facebook
              • Partager sur Twitter

              Exécution d'un script PHP à partir d'un .bat

              × 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