Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 19/04/2011, 16h18   #1
Membre du Club
 
Inscription : août 2009
Messages : 66
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 66
Points : 69
Points : 69
Par défaut Comment connaître le nombre de fichiers ouverts par un script PHP ?

Bonjour,

J'utilise actuellement FPDF pour générer automatiquement d'énormes fichiers PDF. (> 5000 pages)

Or à partir d'un certain nombre de pages, le script PHP m'affiche l'erreur suivante dès qu'il veut lire ou écrire dans un fichier :

Code :
1
2
 
failed to open stream: Too many open files in /home/(...)/script.php
Etant donné qu'on utilise un grands nombre d'objets, je suis à la recherche d'un moyen pour connaître de manière globale le nombre de fichiers actuellement ouverts par un script PHP afin de déterminer à quel endroit du code le bât blesse.

Y a-t-il un moyen à votre avis.

Merci d'avance pour votre réponse.
NicoD. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 16h22   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
regarde le nombre de fopen et le nombre de fclose
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 16h23   #3
Membre Expert
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Étudiant
Inscription : janvier 2011
Messages : 802
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2011
Messages : 802
Points : 1 515
Points : 1 515
A mon avis cela vient surtout du fait que tu ouvres des fichiers à la chaîne et ne les ferme qu'à la fin du script...
Ne peux-tu pas les ouvrir, récupérer leur contenu ou ce qui t'intéresse puis le fermer avant de t'attaquer à un autre ?
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 16h27   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
Citation:
Envoyé par transgohan Voir le message
A mon avis cela vient surtout du fait que tu ouvres des fichiers à la chaîne et ne les ferme qu'à la fin du script...
oui donc fopen et fclose
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 11h11   #5
Membre du Club
 
Inscription : août 2009
Messages : 66
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 66
Points : 69
Points : 69
Merci pour vos réponses.

Effectivement, je ne l'ai pas dit dans mon post initial mais j'ai effectivement déjà recherché des fopen sans fclose dans mon code et dans le code de FPDF. Je n'en ai pas trouvé.

En plus des fopen et des fclose, l'ensemble du code utilise file_get_contents, file_put_contents et simplexml_load_file. Je me suis en fait demandé si l'une ou l'autre de ces fonctions ne fermait pas correctement le fichier qu'ils ouvraient.

C'est pour cela qu'une fonction "nb de fichiers ouverts par le script PHP" m'aurait aidé pour valider ou invalider cette hypothèse.
NicoD. 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 06h43.


 
 
 
 
Partenaires

Hébergement Web