IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Langage PHP Discussion :

[Système] Utiliser pg_dump via php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Par défaut [Système] Utiliser pg_dump via php
    Bonjour,

    j'ai fais une base de données postgresql et tout marche nikel. Le seul truc qui me manque c'est une système de sauvegarde/restauration.

    Pour postgresql il existe 2 commandes qui me vont tres bien : pg_dump pour sauvegarder et psql pour exécuté le fichier de sauvegarde (pour restaurer).

    seulement j'y arrive via une commande ms-dos mais pas sous php.

    sous dos :

    c:\program files\postgresql\8.2\bin\pg_dump -U admin -c -d -f D:\save_base\savegarde1.sql mabase


    Je n'arrive pas a le faire faire par clic sur un bouton automatiquement en php. Je sais que je dois utilisé la fonction EXEC mais j'y arrive pas.
    Mes tests :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?PHP
    $commande = 'start "c:\Program Files\PostgreSQL\8.2\bin\"pg_dump -U postgres -c -d -f D:\test\\'.$nom_save." ".$SQLDBName;
     
    exec($commande);
     
    // ou bien
     
    exec ('start' $commande);
    ?>
    Je pense que je n'écris pas correctement la commande mais je tourne en rond.

    Merci pour votre aide.

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    avant ton exec, affiche le contenu de $commande pour vérifier qu'il est bien formé (copie le dans ta console et vérifies que ca marche).
    parce que dans ton exemple $nom_base ne semble par exemple pas etre défini.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Par défaut
    les variables sont définis plus haut dans le code et un echo de celles-ci me donne ce que j'attend.

    Par contre je n'arrive pas a utiliser ma commande en dos.

    Pour le moment en manuel je vais dans le dossier ou se trouve pg_dump.exe à savoir : c:\program files\postgresql\8.2\bin\

    puis apres je fais : pg_dump -U admin -c -d -f D:\save_base\savegarde1.sql mabase


    cela marche tres bien. Mais si je copie cole ce que je fais un php j'ai un message comme quoi 'c:\Program' n'existe pas.


    Merci pour ton aide

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Par défaut
    je viens de modifier le path de XP pour qu'il prenne en compte directement le dossier BIN de postgresql.

    dans ms-dos si je tape directement : pg_dump -U admin -c -d -f D:\save_base\savegarde1.sql mabase
    cela marche tres bien.

    Par contre en php :

    exec('pg_dump -U admin -c -d -f D:\save_base\savegarde1.sql mabase'); ne fait rien du tout.

    et

    exec('start pg_dump -U admin -c -d -f D:\save_base\savegarde1.sql mabase'); me dit que pg_dump n'existe pas.

  5. #5
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    quand tu fais un phpinfo()
    tu vas voir la variable de safe_mode_exec_dir, est ce que tu as "no value" ou un dossier particulier?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Par défaut
    j'ai un "no value"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système] Utilisation gnuplot avec php
    Par jejerome dans le forum Langage
    Réponses: 12
    Dernier message: 27/04/2013, 15h39
  2. [Système] Utiliser gpg en php
    Par Anonymus dans le forum Langage
    Réponses: 6
    Dernier message: 03/02/2010, 10h38
  3. [Système] Commande Linux via PHP
    Par musix77 dans le forum Langage
    Réponses: 1
    Dernier message: 31/07/2008, 12h57
  4. Réponses: 1
    Dernier message: 10/10/2006, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo