Programmer exécution de script sans cron

Mammouth du PHP | 555 Messages

30 avr. 2007, 23:44

Re,
j'ai fait un test avec mon fichier test et rien à faire il me renvoit tout le temps ça
Warning: fopen(exec.log) [function.fopen]: failed to open stream: Permission denied in /home/getsu/public_html/akeron/sql.php on line 5

Warning: fputs(): supplied argument is not a valid stream resource in /home/getsu/public_html/akeron/sql.php on line 6

Warning: fclose(): supplied argument is not a valid stream resource in /home/getsu/public_html/akeron/sql.php on line 7

j'ai pourtant passé les permissions du dossier en 777 et créé le exec.log
D'où ca vient?
Merci à tous!
PS je laisse le mail pour le moment mais je vais ajouter un second truc, un marqueur dans la bdd histoire d'etre sur...
A+ et bon surf!!!!

Mammouth du PHP | 991 Messages

01 mai 2007, 00:08

montre le code est le fichier (exec.log) n'est pas dans un dossier ?
DevOps, Symfony4, Hoa

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

01 mai 2007, 08:21

Nan mais quand je t'ai donné le code c'est parce que j'avais la flemme de t'expliquer en détail le principe faut l'adapter :?
Il y a des choses importantes à savoir quand on fait du web dont la gestion des droits sur le serveur (droits Unix). C'est simple, selon que le serveur web s'exécute en tant que ton user, ton groupe, ou totalement autre chose, il va falloir donner des droit à ce user, ce groupe, ou à tout le monde.
Le plus simple en l'occurrence pour éviter de tatonner : envoie un fichier "exec.log" dans /home/getsu/public_html/akeron/, mets-lui les droits de lecture/écriture pour tout le monde (droits 666 si ton client FTP prend l'octal), et roulez jeunesse.

Mammouth du PHP | 555 Messages

01 mai 2007, 12:09

Re,
Effectivement une fois que c'est mis en 666 ca marche correctement...
Bon sinon cette nuit aucun mail reçut, aucun marqueur mis dans la bdd et la météo du jeu n'a pas bougé.
Il faut qu'on laisse encore une nuit passer pour être sûrs avec la méthode de l'écriture dans le fichier et après on verra...
Merci à tous!
A+ et bon surf!!!!

Mammouth du PHP | 555 Messages

01 mai 2007, 16:14

Re,
Pour passer le temps et pour continuer sur le sujet de l'optimisation que nous avions entamé voici la dernière version de la fonction météo, je l'ai encore optimisée et j'ai rajouté un nuage différent, qu'en pensez vous?

Merci à tous, et on verra si le webcron marche cette nuit mais je suis sceptique...
function meteo ()
{
 $ndf = 2; //nombre de figures rentrées en array
 $figs = array();
 //syntaxe level x y
 //le rond
 $figs[0] = array();
 //zone noire
 $figs[0][0] = array(5, 0, 0);
 //zone bleue
 $figs[0][1] = array(4, -1, -1);
 $figs[0][2] = array(4, 0, -1);
 $figs[0][3] = array(4, -2, 0);
 $figs[0][4] = array(4, -1, 0);
 $figs[0][5] = array(4, 1, 0);
 $figs[0][6] = array(4, -2, 1);
 $figs[0][7] = array(4, -1, 1);
 $figs[0][8] = array(4, 0, 1);
 $figs[0][9] = array(4, 1, 1);
 $figs[0][10] = array(4, -1, 2);
 $figs[0][11] = array(4, 0, 2);
 //zone rouge
 $figs[0][12] = array(3, -1, -2);
 $figs[0][13] = array(3, 0, -2);
 $figs[0][14] = array(3, 1, -1);
 $figs[0][15] = array(3, 2, 0);
 $figs[0][16] = array(3, 2, 1);
 $figs[0][17] = array(3, 1, 2);
 $figs[0][18] = array(3, 0, 3);
 $figs[0][19] = array(3, -1, 3);
 $figs[0][20] = array(3, -2, 2);
 $figs[0][21] = array(3, -3, 1);
 $figs[0][22] = array(3, -3, 0);
 $figs[0][23] = array(3, -2, -1);
 //zone jaune
 $figs[0][24] = array(2, -1, -3);
 $figs[0][25] = array(2, 0, -3);
 $figs[0][26] = array(2, 1, -2);
 $figs[0][27] = array(2, 2, -1);
 $figs[0][28] = array(2, 3, 0);
 $figs[0][29] = array(2, 3, 1);
 $figs[0][30] = array(2, 2, 2);
 $figs[0][31] = array(2, 1, 3);
 $figs[0][32] = array(2, 0, 4);
 $figs[0][33] = array(2, -1, 4);
 $figs[0][34] = array(2, -2, 3);
 $figs[0][35] = array(2, -3, 2);
 $figs[0][36] = array(2, -4, 1);
 $figs[0][37] = array(2, -4, 0);
 $figs[0][38] = array(2, -3, -1);
 $figs[0][39] = array(2, -3, -2);
 //zone verte
 $figs[0][40] = array(1, -1, -4);
 $figs[0][41] = array(1, 0, -4);
 $figs[0][42] = array(1, 1, -3);
 $figs[0][43] = array(1, 2, -2);
 $figs[0][44] = array(1, 3, -1);
 $figs[0][45] = array(1, 4, 0);
 $figs[0][46] = array(1, 4, 1);
 $figs[0][47] = array(1, 3, 2);
 $figs[0][48] = array(1, 2, 3);
 $figs[0][49] = array(1, 1, 4);
 $figs[0][50] = array(1, 0, 5);
 $figs[0][51] = array(1, -1, 5);
 $figs[0][52] = array(1, -2, 4);
 $figs[0][53] = array(1, -3, 3);
 $figs[0][54] = array(1, -4, 2);
 $figs[0][55] = array(1, -5, 1);
 $figs[0][56] = array(1, -5, 0);
 $figs[0][57] = array(1, -4, -1);
 $figs[0][58] = array(1, -3, -2);
 $figs[0][59] = array(1, -2, -3);
 //le carré
 $figs[1] = array();
 //zone noire
 $figs[1][0] = array(5, 0, 0);
 //zone bleue
 $figs[1][1] = array(4, -1, -1);
 $figs[1][2] = array(4, 0, -1);
 $figs[1][3] = array(4, 1, -1);
 $figs[1][4] = array(4, 1, 0);
 $figs[1][5] = array(4, 1, 1);
 $figs[1][6] = array(4, 0, 1);
 $figs[1][7] = array(4, -1, 1);
 $figs[1][8] = array(4, -1, 0);
 //zone rouge
 $figs[1][9] = array(3, -2, -2);
 $figs[1][10] = array(3, -1, -2);
 $figs[1][11] = array(3, 0, -2);
 $figs[1][12] = array(3, 1, -2);
 $figs[1][13] = array(3, 2, -2);
 $figs[1][14] = array(3, 2, -1);
 $figs[1][15] = array(3, 2, 0);
 $figs[1][16] = array(3, 2, 1);
 $figs[1][17] = array(3, 2, 2);
 $figs[1][18] = array(3, 1, 2);
 $figs[1][19] = array(3, 0, 2);
 $figs[1][20] = array(3, -1, 2);
 $figs[1][21] = array(3, -2, 2);
 $figs[1][22] = array(3, -2, 1);
 $figs[1][23] = array(3, -2, 0);
 $figs[1][24] = array(3, -2, -1);
 //zone jaune
 $figs[1][25] = array(2, -3, -3);
 $figs[1][26] = array(2, -2, -3);
 $figs[1][27] = array(2, -1, -3);
 $figs[1][28] = array(2, 0, -3);
 $figs[1][29] = array(2, 1, -3);
 $figs[1][30] = array(2, 2, -3);
 $figs[1][31] = array(2, 3, -3);
 $figs[1][32] = array(2, 3, -2);
 $figs[1][33] = array(2, 3, -1);
 $figs[1][34] = array(2, 3, 0);
 $figs[1][35] = array(2, 3, 1);
 $figs[1][36] = array(2, 3, 2);
 $figs[1][37] = array(2, 3, 3);
 $figs[1][38] = array(2, 2, 3);
 $figs[1][39] = array(2, 1, 3);
 $figs[1][40] = array(2, 0, 3);
 $figs[1][41] = array(2, -1, 3);
 $figs[1][42] = array(2, -2, 3);
 $figs[1][43] = array(2, -3, 3);
 $figs[1][44] = array(2, -3, 2);
 $figs[1][45] = array(2, -3, 1);
 $figs[1][46] = array(2, -3, 0);
 $figs[1][47] = array(2, -3, -1);
 $figs[1][48] = array(2, -3, -2);
 //zone verte
 $figs[1][49] = array(1, -2, -4);
 $figs[1][50] = array(1, -1, -4);
 $figs[1][51] = array(1, 0, -4);
 $figs[1][52] = array(1, 1, -4);
 $figs[1][53] = array(1, 2, -4);
 $figs[1][54] = array(1, 2, 4);
 $figs[1][55] = array(1, 1, 4);
 $figs[1][56] = array(1, 0, 4);
 $figs[1][57] = array(1, -1, 4);
 $figs[1][58] = array(1, -2, 4);
 $figs[1][59] = array(1, -4, 0);
 //SUITE DEV FINIR ZONES
 $sql = mysql_query("SELECT count(*) FROM map");
 $result = mysql_result($sql, 0, 0);
 $nbact = $result?floor(($result / 60) /1.3 ):0;
 $arid = array();
 for ($curseur = 0; $curseur<$nbact; $curseur++)
 {
  $sql = mysql_query("SELECT x, y FROM meteo ORDER BY rand() LIMIT 1"); //tirage d'une météo
  $result = mysql_fetch_array($sql);
  switch(rand(0, 3)){
      case 1: $temps = 'neige'; break;
      case 2: $temps = 'pluie'; break;
      case 3: $temps = 'pluie'; break;
      default: $temps = 'brouillard'; break; //0
  }
 $rdf = rand(0, $ndf-1); //tirage d'une figure
 for($c=0; $c < 59; $c++)
  {
   $xf = $result['x'] + $figs[$rdf][$c][1];
   $yf = $result['y'] + $figs[$rdf][$c][2];
   mysql_query("UPDATE meteo SET temps = '".$temps."', level = '".$figs[$rdf][$c][0]."' WHERE y = '".$yf."' AND x = '".$xf."'");
   $arid["$yf-$xf"] = "'$yf-$xf'"; //mémorise les xy traités et évite les doublons éventuels
  }
 }
 mysql_query("UPDATE meteo SET temps = 'beau', level = '0' WHERE Concat(y,'-',x) NOT IN (".implode(",", $arid).")");
 //test fichier pour fonction nocturne, effacer si ca marche
 $fp = fopen('exec.log', 'a+');
 fputs($fp, date('d/m/Y - H:i:s')."\n");
 fclose($fp); 
}
A+ et bon surf!!!!