Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/07/2011, 14h26   #1
Futur Membre du Club
 
Homme
Développeur Web
Inscription : mai 2011
Messages : 56
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2011
Messages : 56
Points : 16
Points : 16
Par défaut Exécution automatique d'un script PHP

Bonjour,

J'ai un script php qui se lance automatiquement chaque jour via la commande crontab. et depuis quelques jours ca ne marche pas, en fait ca lance le script mais j'ai un problème dans le script qui lui empêche à exécuter correctement.

En plus, quand j’exécute le script depuis le navigateur tout marche normale.
Merci pour votre aide ?

CODE CRONTAB :
Code :
30 9 * * 1-5 /home/offresapec.sh > /home/offresapec.log
quand je regarde le fichier log, j'ai le message suivant :
Code :
Fatal error: Call to a member function xpath() on a non-object in /home/www/web/updatedatabase.php on line 458
lignes de code correspond à ça :
Code :
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
// on récupère les données des offres
$aOffres = array();
foreach($xml->xpath('//item') as $oItem) {
  // récupère l'url
  $url = (string)current($oItem->xpath('link'));
  // récupère l'id depuis l'url (l'identifiant semble délimité par __ à gauche et à droite)
  // on peut utiliser les fonctions de chaînes normales car l'URL n'est a priori composée que de caractères ASCII
  $id = trim(substr($url, strpos($url, '__'), strrpos($url, '__') - strpos($url, '__')), '_');
  $aOffres[$id]['url'] = $url;
  $aOffres[$id]['id'] = $id;
  $aOffres[$id]['titre'] = lower_titre((string)current($oItem->xpath('title')));
  $aOffres[$id]['description'] = (string)current($oItem->xpath('description'));
  $sDate = (string)current($oItem->xpath('pubDate')); // date au format RFC 2822 :  Tue, 17 Mar 2009 00:00:00 +0100
  $sDate = date('Y-m-d', strtotime($sDate));
  $aOffres[$id]['pubDate'] = $sDate;
  $aOffres[$id]['lieu'] = (string)current($oItem->xpath('lieu'));
  $aOffres[$id]['entreprise'] = (string)current($oItem->xpath('entreprise'));
  $aOffres[$id]['typeContrat'] = (string)current($oItem->xpath('typeContrat'));
 
  $aOffres[$id]['remuneration'] = (string)current($oItem->xpath('remuneration'));
  $aOffres[$id]['salMin'] = (string)current($oItem->xpath('salMin'));
  $aOffres[$id]['niveauExp'] = (string)current($oItem->xpath('niveauExp'));
 
  // on calcule la pertinence de l'offre selon le nom de l'entreprise, le titre et la description de l'offre
  $pertinence_auto = calculePertinenceAuto(
    $aOffres[$id]['entreprise'],
    $aOffres[$id]['titre'],
    $aOffres[$id]['description']
  );
  $aOffres[$id]['pertinence_auto'] = $pertinence_auto ? '1' : '2';
  //echo "<li>" . $aOffres[$id]['pertinence_auto'] . " : " . $aOffres[$id]['titre'] . "</li>";
 
  // s'il n'y a pas de listeLieux, disons que c'est une offre "International"
  if (count($oItem->xpath('listeCodeLieux')) == 0) {
    $aOffres[$id]['lieu'] = 'International';
  }
  // sinon, on récupère le libellé de région/pays
  else {
    $oListeCodeLieux = $oItem->listeCodeLieux;
    unset($codeslieux);
    foreach($oListeCodeLieux->codeLieu as $codeLieu) {
      $codeslieux[] = (string)current($codeLieu);
    }
    $aOffres[$id]['lieu'] = getRegionEnvirojobFromListeCodesApec($codeslieux);
  }
 
  $aOffres[$id]['secteurActiviteCode'] = (string)current($oItem->xpath('secteurActivite/code'));
  $aOffres[$id]['secteurActiviteIntitule'] = (string)current($oItem->xpath('secteurActivite/intitule'));
  $aOffres[$id]['codeJobCode'] = (string)current($oItem->xpath('codeJob/code'));
  $aOffres[$id]['codeJobIntitule'] = (string)current($oItem->xpath('codeJob/intitule'));
}
victoires est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h06.


 
 
 
 
Partenaires

Hébergement Web