[SOLVED] Problème de création de nombreux répertoires

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [SOLVED] Problème de création de nombreux répertoires

Re: [SOLVED] Re: Problème de création de nombreux répertoire

par Yosh » 22 sept. 2011, 16:59

Bien vu, je n'avais pas remarqué dans un log du serveur apache:
PHP Fatal error: Maximum execution time of 30 seconds exceeded

J'ai augmenté ce paramètre dans le fichier ini. C'était la cause du problème.

Merci,
Alain
Sinon tu peux aussi ne pas mettre de temps d'exécution pour ton script:

http://php.net/manual/fr/function.set-time-limit.php

[SOLVED] Re: Problème de création de nombreux répertoires

par abcbienmoi » 22 sept. 2011, 16:57

Bien vu, je n'avais pas remarqué dans un log du serveur apache:
PHP Fatal error: Maximum execution time of 30 seconds exceeded

J'ai augmenté ce paramètre dans le fichier ini. C'était la cause du problème.

Merci,
Alain

Re: trop d'accès aux fichiers/répertoires ?!

par AB » 22 sept. 2011, 16:30

Quelle est l'erreur renvoyée ?

Cela ne sert à rien de ralentir ton script dans ce cas sauf à causer des problèmes.

Je comprends pas trop l'utilité de file_exists si tu crée des dossiers et cette fonction prend beaucoup de ressources...

En dernier recours si c'est un problème de dépassement de la durée du temps d'exécution maximum autorisée pour tes script, il faudra soit augmenter cette durée soit fragmenter la création de tes dossiers.

Et puis je sais pas quelle est la logique de ton application mais habituellement on crée plutôt des dossiers à la volée, suivant les besoins.

[SOLVED] Problème de création de nombreux répertoires

par abcbienmoi » 22 sept. 2011, 16:03

Bonjour à tous,

j'ai écrit du code qui crée des arborescences de fichiers. Il crée un répertoire contenant une quinzaine de répertoires.
J'appelle cela une branche.
Et il doit répéter le tout environ 1600 fois. Soit 1600 branches (les unes à côté des autres, ce n'est pas récursif).

Ce code utilise donc massivement des appels aux fonctions
file_exists
isdir
mkdir($subfolder, 0777, true)

Malheureusement, après la création d'environ 30 branches : plantage : Internal Server Error.

Et je n'ai encore créé aucun fichier.

J'utilise Apache 2.2.11 / PHP 5.2.6 / Windows 7
Apparemment, le nom des répertoires n'a pas d'influence,
la vitesse d'exécution non plus (j'ai essayé de ralentir le process par des usleep).

Pourriez-vous m'aider ?

Merci,
Alain