[PHP] Pb. exécution d'un long script SSH

Résolu/Fermé
lordaplala Messages postés 72 Date d'inscription vendredi 12 mars 2010 Statut Membre Dernière intervention 3 novembre 2012 - Modifié par lordaplala le 11/05/2012 à 00:28
lordaplala Messages postés 72 Date d'inscription vendredi 12 mars 2010 Statut Membre Dernière intervention 3 novembre 2012 - 11 mai 2012 à 11:50
Bonjour,

J'ai réalisé un script qui a pour but de récupérer un grand nombre d'images sur un autre site (une image par page).
Le script est structuré comme ceci :


$pages = array(); //$pages[0] = 'http://xxx.com/lala.html', $pages[1] = 'http://xxx.com/coucou.html', etc... jusqu'à ~2000 adresses structurées de la même façon   
$nbpages = sizeof($pages); //Nombres de pages indexées dans le tableau   

for ($i = 0; $i <= $nbpages; $i++) { //Pour chaque page indexée,   

$url = $pages[$i];    
$codeSource = curl($url); //On va récupérer le code source de la page à l'aide de CURL   
$lienImage = "https://njnk.com/B6RFB/lala.jpg" //A l'aide de strpos(), on "filtre" le code source afin de récupérer l'adresse de l'image   
uploadThisImageToMyServer($lienImage); //Je copie l'image sur mon propre serveur   

}


Ce script dure trèèès longtemps, je le démarre donc via un simple "php fichier.php" en SSH.

Le problème : Le script fonctionne très bien jusqu'à un certain moment (10-15 minutes après le début) où ça m'affiche le warning "Offset not contained in string" qui signifie que strpos() ne peux donner la position de la chaine que je recherche car l'offset n'est pas bon. Ça m'a fait ça pendant 10 minutes, où aucune image n'a donc été uploadée, puis le script a continué à fonctionner normalement...

J'ai fait des tests individuels sur les urls concernées, aucun problème !

D'où cela peut-il bien venir ?
Merci :)
A voir également:

1 réponse

lordaplala Messages postés 72 Date d'inscription vendredi 12 mars 2010 Statut Membre Dernière intervention 3 novembre 2012 11
11 mai 2012 à 11:50
En rajoutant 2 à 3 sleep(1); par-ci par-là, ça fonctionne depuis maintenant une demi-heure !

Problème résolu !
0