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] Commande system qui ne marche pas


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut [Système] Commande system qui ne marche pas
    Bonjour,

    Voila, j'ai depuis peu louer un serveur privé virtuel sur lequel je tente d'installer mon site.

    Je tente de restaurer ma base grace a system qui permet d'excuter la commande mysql, mais aucune reaction.

    Cette commande fonctionne tres bien sur mon site en mutualisé, et sur mon pc perso, mais pas du tout sur le serveur privé

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    system("mysql --host=localhost --user=moi --password=monpassword mabase <table.sql");
    echo "C'est fini. Votre base est en place.";
    A l'execution, j'ai juste: C'est fini. Votre base est en place

    J'aime meme tenter ca, aucune reaction non plus:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $retour=system("ls");
    echo "***".$retour."***";
    Resultat de l'excution: ******

    J'ai lancé en ligne de commande en ssh, en me placant dans le repertoire d'ou je lance le fichier php, et la commande s'execute correctement.

    Pour info: le safe mode est désactivé.

    Quelqu'un aurait il une idée?

    Merci d'avances.

    Marie.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 22
    Points : 33
    Points
    33
    Par défaut
    J'ai le même problème, a tu trouvez une solution?

    Merci.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,


    Le safe mode etait désactivé au niveau du php.ini mais il etait actif au niveau de la conf du site.

    Marie.

  4. #4
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 55
    Points
    55
    Par défaut
    Le problème que vous rencontrez est plutot un problème de droit d'execution.

    Si vous tentez d'exécuter votre script depuis un serveur web, alors il est tout à fait normal que ça ne se fasse pas. la commande "mysql", même si ce n'est pas vraiment une commande, ne peut être depuis php en mode script web.

    Si vous executez votre script en mode console, alors il faudrait vérifier que l'utilisateur, sous lequel vous êtes connecté sur le système, a bien le droit d'exécuter la commande.

    en résumé, vous êtes face à un problème de privilège et de droit d'execution qui est tout à fait normal dans un contexte de serveur web, avec tout ce que ça implique en terme de sécurité.
    Merci
    Have Fun !!!
    Fincom

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 22
    Points : 33
    Points
    33
    Par défaut
    Fichier php.ini:

    safe_mode = Off

    Que veut tu dire par "il etait actif au niveau de la conf du site"?

    Sinon j'ai juste fait un test avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
       1. <?php
       2. echo '<pre>';
       3.
       4. // Affiche le réltat de la commande "ls" et retourne
       5. // la derniè lignes dans $last_line. Stocke la valeur retourné // par la commande shelle dans $retval.
       6. $last_line = system('ls', $retval);
       7.
       8. // Affichage d'autres informations
       9. echo '
      10. </pre>
      11. <hr />La derniè ligne lue : ' . $last_line . '
      12. <hr />Valeur retourné: ' . $retval;
      13. ?>
    Je ne pense pas que les droits sur ls soit désactiver pour l'user www?

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Rebonjour,

    Pour le site

    dans le fichier httpd.include :

    php_admin_flag safe_mode off


    Pour fincom: en mode console ca marchait tres bien, mais j'avais besoin de pouvoir utiliser la commande system de php!!!

    Marie.

  7. #7
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 44
    Points : 55
    Points
    55
    Par défaut
    Essayez avec la fonction: exec

    Si vous n'obtenez rien, vérifiez que le safe_mode est à off, avec phpinfo().

    Ou essayez le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    if( ini_get('safe_mode') ){
        system("votre commande");
    }else{
        echo "Impossible d'executer la commande.";
    }
    ?>
    Merci
    Have Fun !!!
    Fincom

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 22
    Points : 33
    Points
    33
    Par défaut
    Bonjour, donc avec exec, le script renvoie "Impossible d'executer la commande." et le safe_mode est bien a off.

    Merci.

Discussions similaires

  1. [AIDE] Commande wscript.stdout. qui ne marche pas.
    Par hcmskins dans le forum VBScript
    Réponses: 1
    Dernier message: 27/04/2008, 17h47
  2. [access 2007] un bouton de commande qui ne marche pas
    Par Milyshyn76 dans le forum VBA Access
    Réponses: 5
    Dernier message: 04/01/2008, 09h33
  3. [Système] bbcode imbriqué qui ne marche pas
    Par jexl dans le forum Langage
    Réponses: 11
    Dernier message: 22/06/2007, 12h21
  4. Commande ftp sur free qui ne marche pas!
    Par Death83 dans le forum Administration
    Réponses: 1
    Dernier message: 07/11/2006, 18h08
  5. [Système] redirection qui ne marche pas
    Par alpking dans le forum Langage
    Réponses: 2
    Dernier message: 05/11/2006, 23h17

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