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

Linux Discussion :

Execution script php ?


Sujet :

Linux

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Par défaut Execution script php ?
    Bonjour,

    Je travaille sous linux, distribution xandros.
    j'ai créé un script php qui se connecte à une base de données qui insère une donnée dans un champ d'une table et qui clôture donc script tout simple.
    Mais le problème est de savoir : comment lancer ce script à partir de commande shell ? Quels sont les paquets que je dois installer ? ...

    Est ce possible de faire la même chose que ce que fait le script en langage C/C++ ?

    Merci d'avance et à bientôt !

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 672
    Par défaut
    Bonjour petitclem,

    si tu peux te connecter à ta base de données depuis la ligne de commande, et c'est tout ce qu'a à faire ton script, pourquoi ne pas le faire directement en script shell ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Par défaut
    Merci N_BAH de ta réponse rapide,

    le problème est que j'ai mon script sur ma machine sous linux est que depuis le shell, je n'arrive pas à l'exécuter.

    Comment faire pour y arriver ?
    Et pour faire la même chose en langage C, de quoi est je besoin ?

    J'ai effectué plusieurs recherches sur internet sur le sujet mais je n'y ai rien trouvé !!!

  4. #4
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    Si tu n'arrive pas à exécuter ton script shell c'est peut être tout simplement que tu as oublié de le rendre exécutable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chmod +x <nom_du_script>
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Par défaut
    Bonjour Winnt,

    oui j'ai rendu le fichier exécutable (chmod +x nom.php) et au début de mon fichier j'ai mis #!/usr/bin/php4-cgi car en faisant un whereis php4, c'est le chemin que l'on m'a donné.

    Mais maintenant, à partir du shell quelle est la commande pour lancer le script ?

  6. #6
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    Bonjour,

    pour l'exécuter
    ./nomDuScript.php

  7. #7
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    Citation Envoyé par unknow0
    pour l'exécuter
    ./nomDuScript.php
    Valable si tu est dans le répertoire du script.

    Sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <chemin_absolu_du_script>/<nom_du_script>
    exemple : /home/moi/script/monscript
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Par défaut
    Bonjour,

    je suis bien dans le répertoire où il y a mon script et je met dans le shell ./mon_script.php

    Ca me retourne : bash: ./mon_script.php: /usr/lib/php4^M: bad interpreter: Aucun fichier ou répertoire de ce type


  9. #9
    Membre actif
    Inscrit en
    Mars 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 36
    Par défaut
    Il faut installer "php-cli".

    Ainsi tu peux executer tes fichiers PHP en tapant : "php -q toto.php"

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Par défaut
    OK, merci becausefr !

    Mais quel est la source pour l'installer ?

    Je suis allé dans aptitude et je ne l'ai pas trouvé.

  11. #11
    Membre actif
    Inscrit en
    Mars 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 36
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sudo apt-get install php5-cli

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Par défaut
    Oui, j'ai fait apt-get install php4-cli et c'est bon le paquet a été installé.

    Maintenant j'ai fait : php4 -q mon_script.php mais il me dit qu'il y a une erreur dans mon fichier pour mysql_connect !!!

  13. #13
    Membre actif
    Inscrit en
    Mars 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 36
    Par défaut
    C'est signe que PHP4-CLI fonctionne ...
    Après pour voir de où viens le soucis il faudrait voir ton code.

    Question idiote, tu as bien installé PHP4-MYSQL ?

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Par défaut
    voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    #!/usr/bin/php4
    <?php4
     
    	/* connection a une base mysql en local */
    	mysql_connect("hote","user","pwd");
     
    	/* selection de la base de donnée mysql */
    	mysql_select_db("la_base");
     
    	$Fichier1 = fopen ("fichier1.txt", "r");
     
    	for( $i=0; $i<count($Fichier1); $i++ )
        {
    		$File1 = $Fichier1[$i];        
        }
     
    	$Fichier2 = fopen ("fichier2.txt", "r");
     
    	for( $i=0; $i<count($Fichier2); $i++ )
        {
    		$File2 = $Fichier2[$i];        
        }
     
    	/* la requête. */
    	mysql_query('INSERT INTO aqua(Addr) VALUES ('.$File2[0].') WHERE NumSerie="'.$File1[0].'" OR Mc="'.$File1[1].'" ');
     
    	fclose ($Fichier1);
    	fclose ($Fichier2);
     
    	/* fermeture de la connection */
    	mysql_close();
     
    ?>

  15. #15
    ALT
    ALT est déconnecté
    Membre Expert
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 383
    Par défaut
    Essaye de ne faire que ça :

    1. connexion à MySQL
    2. connexion à ta base
    3. déconnexion

    & regarde si tu as une erreur.
    Si ça passe, ajoute progressivement des lignes, jusqu'à ce que tout fonctionne.
    Ainsi, tu apprendras mieux que si chacun te donne un élément de réponse.

    Bon courage.

    PS : une piste : comment fais-tu la relation entre ta base (connect) & ta table (select_db) ?

  16. #16
    Membre actif
    Inscrit en
    Mars 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 36
    Par défaut
    Par contre la ligne :
    est inutile, je ne sais pas si c'est ça qui pose problème mais elle peut être supprimée.

    Juste par curiosité, ton FOPEN renvoi quoi ? ça donne quoi avec un count ?

  17. #17
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    Ton script php est faux en partie.
    Je cite ton code
    /* connection a une base mysql en local */
    mysql_connect("hote","user","pwd");

    /* selection de la base de donnée mysql */
    mysql_select_db("la_base");
    /* la requête. */
    mysql_query('INSERT INTO aqua(Addr) VALUES ('.$File2[0].') WHERE NumSerie="'.$File1[0].'" OR Mc="'.$File1[1].'" ');
    il devrait être plutôt de cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	/* connection a une base mysql en local */
    	$connect=mysql_connect("hote","user","pwd");
    
    	/* selection de la base de donnée mysql */
    	$db_select=mysql_select_db("la_base",$connect);
    	/* la requête. */
    	$result=mysql_query('INSERT INTO aqua(Addr) VALUES ('.$File2[0].') WHERE NumSerie="'.$File1[0].'" OR Mc="'.$File1[1].'" ', $db_select);
    A mon avis avec ça cela devrait déjà mieux fonctionner (plus de retour d'erreur).
    Il faut bien sur faire les vérifications nécessaires à chaque connection, résultat.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  18. #18
    ALT
    ALT est déconnecté
    Membre Expert
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 383
    Par défaut
    C'est en gros ce que je suggérais, mais en lui demandant de chercher un peu...

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    508
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Avril 2008
    Messages : 508
    Par défaut
    Oui merci à tous, j'étais justement en train de changer cela mais il me dit qu'il ne connait pas l'hôte !!!

    Pourtant j'ai vérifié à plusieurs reprises et c'est bien cela.

    J'ai écrit le nom d'hôte entre " ".

  20. #20
    ALT
    ALT est déconnecté
    Membre Expert
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 383
    Par défaut
    Et tu as quoi, comme hôte ?
    Localhost ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. configurer serveur apache pour executer script php
    Par david06600 dans le forum Apache
    Réponses: 1
    Dernier message: 04/07/2007, 19h31
  2. Exécution script php
    Par devmat dans le forum Linux
    Réponses: 11
    Dernier message: 22/04/2007, 11h14
  3. Exécuter script PHP en tâche de fond
    Par guiguibcn dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 18/10/2006, 20h51
  4. [Directives] Execution script php en ligne de commande
    Par pingoo78 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/02/2006, 12h06
  5. [Serveur] executer script php sur red hat
    Par jj del amorozo dans le forum Apache
    Réponses: 6
    Dernier message: 08/02/2006, 15h29

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