Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

Traitement en tâche de fond


Sujet :

Zend Framework PHP

  1. #1
    Candidat au Club
    Traitement en tâche de fond
    Bonjour,

    Je suis bloquée sur une problématique sur laquelle je ne sais plus où chercher pour trouver une solution. Donc me voilà !
    Je dois gérer des traitements en tâche de fond.

    L'idée actuelle est de lancer le traitement via un script lancé en CLI.
    Pour cela j'ai crée un second couple index.php/config.ini dans mon application implémentant le framework Zend + le contexte de mon application.

    Ma première étape étant de réussir à me connecter à la même base de données via les mêmes outils, ce que je n'arrive pas à faire pour le moment.

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // Mise en place de la BDD
    try {
    	$db = Zend_Db::factory($config->db);
    	@$db->getConnection();
    } catch (Zend_Db_Adapter_Exception $e) {
    		// probablement mauvais identifiants, ou alors le SGBD n'est pas joignable
    		die( "Probleme de connexion a la base de donnees");
    } catch (Zend_Exception $e) {
    		die( "Probleme de connexion a l'adaptateur de base de donnees");
    }
    $registry->set('db', $db);


    Les messages d'erreur suivant l'execution du script en CLI "php monscript.php" étant :
    - Problème de connexion a la base de donnees (renvoyé par monscript.php)
    - The mysql driver is not currently installed (renvoyé par Zend/Db/Adapter/Pdo/Abstract.php)

    Je ne comprend pas d'où vient le problème, avez vous des solutions à me proposer s'il vous plait ?

    Merci d'avance pour l'aide que vous m'apporterez.

  2. #2
    Membre éprouvé
    bonjour,

    - The mysql driver is not currently installed (renvoyé par Zend/Db/Adapter/Pdo/Abstract.php)
    probablement que l'extension pdo_mysql n'est pas soit installée ou n'est pas soit activée.
    Autrement tu peux spécifier au composant Zend_Db(via le fichier de config: resources.db.adapter = mysqli ) un autre driver à utiliser autre que pdo_mysql comme par exemple mysqli.

  3. #3
    Candidat au Club
    Tout d'abord, merci pour votre aide,

    L'extension pdo_mysql est bien installé et activé puisque la connexion et tout le CRUD fonctionne correctement au sein de mon application.

  4. #4
    Modérateur

    Sauf que ne CLI PHP utilise un autre fichier php.ini (a trouver grâce à phpinfo() ), dans ce fichier de configuration, je suppose que MySQL n'est pas activé.

  5. #5
    Candidat au Club
    Ah oui j'avais pas saisi qu'il n'utilisait pas le même php.ini, et finalement il n'existait pas du tout dans notre config Wamp.. Nous l'avons bien récupéré et la connexion passe nickel..

    Merci pour votre aide