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 :

Résultat avec php en mode cli


Sujet :

Langage PHP

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut Résultat avec php en mode cli
    Bonjour,

    j'ai un problème de compréhension de résultat ,
    je lance un cron toute les minutes (pour le test).
    ce cron fait ceci (pour mes test je suis sous ubuntu en desktop)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    * * * * *  php -f /home/dell/cli/mail.php
    toutes les minutes il m'envoie un mail, il lit un fichier qui contient des adresses ip

    voici le fichier :

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <?php
    $nb_ligne = file_get_contents('ip_public.txt');
    $ligne = substr_count($nb_ligne, "\n");
    #echo "il  y a  ++++".$ligne;
    $nb_ip = substr_count($nb_ligne, "\n");
    $destination = 'mail@mail.fr';
     
    // Subject
    $sujet =  $nb_ip."nb ip ";
    $msg ="echec lecture ip public";
    // Function mail()
     
     
    if (substr_count($nb_ligne, "\n") == 1 )
    {
    	echo "recupere ip ********\n";
    	$txt = fopen('ip_public.txt', 'r'); 
    	$ip_public = fgets($txt);
    	fclose($txt);
    //	var_dump($ip_public);
     
     
     
    	// Subject
    	$sujet = $ip_public;
    	$msg =$ip_public;
    	// Function mail()
     
    	if(mail($destination, $sujet, $msg))
    	{
    		echo "lecture ok";
      		echo "envoie ok  => ".$ip_public."date :".date('Y-m-d H:i:s');  // 2012-10-11 15:35:53;
    		//  unlink("ip_public.txt");//suppresion du fichier
     
    	}
     
     
    }
    else
    {
    	echo"XXXXXXXXXX".$nb_ip."XXXXXXXXXXX vider le fichier\n";
    	$txt = fopen('ip_public.txt','r+');
    	ftruncate($txt,0);
     
    	if(mail($destination, $sujet, $msg))
    	{
    		echo "lecture échoué, vidage du fichier";
     
    	}
     
    }
    le but c'est de récupérer l'ip dans le fichier ip_public.txt

    - si j'ai un seul ip => envoie mail, et indique l'ip
    - si j'ai plusieur ip => envoie mail, envoie du nombre d'ip => si plus d'un ip, vidage du fichier.

    voici le cron qui me charge les ip, toutes les 2 minutes
    Code console : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    */2 * * * *  curl ifconfig.me cat >> /home/dell/cli/ip_public.txt

    lorsque je test tout ça manuellement en appelant php tout fonctionne
    comme sur des roulettes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dell@dell-Inspiron-3521:~/cli$ php mail.php
    par contre lorsque je laisse faire le cron ,
    je reçois bien toute les minutes les mails ,
    mon sujet est toujours 0nb ip ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     substr_count($nb_ligne, "\n")
    avec un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tail -f ip_public.txt
    je vois bien que toutes les 2 minutes mes ip publics sont enregistré dans le fichiers.
    j'espère avoir essayer d'expliquer au mieux mon soucie.

    Merci d'avance de vos réponse, si vous avez une idée

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 223
    Points : 15 516
    Points
    15 516
    Par défaut
    le chemin n'est peut-être pas le même pour trouver l'emplacement du fichier
    essaye cette ligne au début du code pour se placer dans le bon répertoire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chdir(dirname(__FILE__));

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    merci de ta réponse,
    le problème vient que je test sur un desktop et il ne sais pas quel tty
    en plus en cli il faut pas que j'utlise des écho .

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

Discussions similaires

  1. [MySQL] Désactiver magic_quotes avec PHP en mode CGI
    Par Memelo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/04/2011, 14h49
  2. [Configuration] Modules php en mode CLI
    Par iron dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 10/08/2007, 20h43
  3. Zend Framework avec PHP en mode CGI
    Par charles.caron dans le forum Zend Framework
    Réponses: 4
    Dernier message: 06/06/2007, 14h38
  4. [PHP-JS] script php en mode console et avec arguments
    Par danathane dans le forum Langage
    Réponses: 1
    Dernier message: 28/05/2007, 15h57
  5. Accès aux champs de ma page avec Webdev en mode Php
    Par jimmypage dans le forum WebDev
    Réponses: 1
    Dernier message: 12/02/2007, 15h49

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