Commande Cron et Fonction copy php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Commande Cron et Fonction copy php

Re: Commande Cron et Fonction copy php

par blump08 » 29 juil. 2011, 12:52

Oui j'ai même fait un chmod +x sur mon script. Mais c'est pas la première fois que cela m'arrive. Par exemple lorsque je parse une page trop volumineuse ( donc le code d'une page est contenu dans une variable ) cela fonctionne par la barre d'adresse mais pas par Cron. La le problème vient de la fonction copy de php , l'imgage fait 30 Ko mais cron ne supporte pas j'ai l'impression.

Si je remplace copy () par une ecriture dans un fichier, cela fonctionne cron éxécute bien la tache.

N'y a t-il pas une configuration de cron à modifier ?

Cordialment

Re: Commande Cron et Fonction copy php

par Castor Gaspard » 29 juil. 2011, 12:30

Bonjour,

Hé bien, je dispose d'une distribution Gentoo chez Ovh qui me permet, depuis le planificateur, de déclencher manuellement un script Cron pour vérifier son fonctionnement.

D'un autre côté, si 25 scripts fonctionnent déjà, c'est que tu sais planifier une tâche. :)

Après, je n'ai pas d'autre idée pour t'aider à avancer. J'en suis confus.

Sinon, idée stupide, tu as mis le bon "Chmod" sur ton script ?

Cordialement,

Gaspard

Re: Commande Cron et Fonction copy php

par blump08 » 28 juil. 2011, 22:49

Merci de te pencher sur mon sujet.

J'appel php dans ma tache cron avec ceci /usr/bin/php -f. (cela fonctionne pour mes 25 autres scripts lancer par cron )

Le deuxième script et d'autre fonctionne correctement mais celui avec la fonction copy de php ne fonctionne pas avec cron. ( J'ai déjà remarqué que si une variable est trop grosse ou la par exemple l'image fait 30 ko mais script sous cron ne fonctionne pas .. )

Mais quand tu essaie d'appeler *manuellement* la tache Cron, pas le script, qu'obtiens-tu ? <== Comment ça ?

Re: Commande Cron et Fonction copy php

par Castor Gaspard » 28 juil. 2011, 22:42

Bonjour,

Mais quand tu essaie d'appeler *manuellement* la tache Cron, pas le script, qu'obtiens-tu ?

De plus, où fais-tu appel à l'exécutable Php dans ta tâche ? Je pense qu'il manque une ligne comme...
#!/usr/local/bin/php5
en début de script.

Cordialement,

Gaspard

Commande Cron et Fonction copy php

par blump08 » 28 juil. 2011, 19:45

Bonsoir à Tous,

J'ai un petit problème. J'ai un script php qui fontionne correctement lorsque je le lance dans la barre d'adresse mais ne se lance pas avec cron.
Le problème ne vient pas de la commande cron elle est correcte je l'utilise pour d'autre script.

script.php :
<?php include_once('/var/www/vhosts/******/httpdocs/parsehtml/simple_html_dom.php');
$path= '/var/www/vhosts/*****/httpdocs/images/stories/graph_accueil/corn.png';
$html = file_get_html('http://www.*****.com/charts/index.php?sym=ZCU11&type=CANDLE&a=I:5&studies=BOLL;EXP');
$i=0;
 foreach($html->find('td#pagebody') as $a)
  foreach($a->find('img') as $element) {
       $liens[$i] = 'http://www.*****.com'.$element->src;
	   $i++;
	   }
	copy($liens[2],$path);
?>
si je remplace ce script par celui là cela fontionne avec cron :
<?php
include_once('/var/www/vhosts/agritechtrade.com/httpdocs/parsehtml/simple_html_dom.php');
//Graph Corn
$path= '/var/www/vhosts/agritechtrade.com/httpdocs/images/stories/graph_accueil/corn.png';
$html = file_get_html('http://www.insidefutures.com/charts/index.php?sym=ZCU11&type=CANDLE&a=I:5&studies=BOLL;EXP');
$i=0;
 foreach($html->find('td#pagebody') as $a)
  foreach($a->find('img') as $element) {
       $liens[$i] = 'http://www.insidefutures.com'.$element->src;
	   $i++;
	   }
	$fp=fopen("/var/www/vhosts/agritechtrade.com/httpdocs/images/stories/graph_accueil/essai.txt", "w"); //ouverture du fichier en mode écriture, création du fichier s'il n'existe pas. 	
fwrite($fp,$liens[2]);
	fclose($fp);
unset($liens);
unset($html);

?>
Le script dans la barre d'adresse s’exécute en moins de 5 secondes et l'image fait environ 30 Ko .

Voici la commande Cron :
*/2 * * * * /usr/bin/php -f /var/www/vhosts/*****.com/cgi-bin/script.php

Une solution ? Une configuration de cron a faire ? Merci d'avance de votre aide !!! :wink: