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

Résolu
lordaplala Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -  
lordaplala Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   11
 
En rajoutant 2 à 3 sleep(1); par-ci par-là, ça fonctionne depuis maintenant une demi-heure !

Problème résolu !
0