8792 sujets

Développement web côté serveur, CMS

Bonsoir,

Je souhaite utiliser la fonction copy sur mon espace Free pour copier un fichier d'une url vers mon site.
Le problème est qu'au bout d'un moment, je me retrouve en erreur 500.
Y-a-t-il un moyen pour éviter cela ?

Je suppose qu'il s'agit d'un problème de timeout sachant que le fichier devant être copié fait une centaine de Mo et qu'il n'en copie de 15 environ.

Merci
Bonsoir,

Regarde la configuration de ton serveur, il me semble que les pièce jointe (téléchargé) soit limité par défaut à 12 Mo.
Plusieurs possibilités, à mon avis :

1 - Copier un fichier de 100 Mo prend effectivement plus de 30 secondes en considérant la bande passante réduite des sites free, sans compter la bande passante du site cible.
Mais si cela avait été le cas, tu aurais probablement obtenu un message Fatal error max execution time à la place d'une erreur 500 et le serveur aurait ramé pendant 30 secondes.
2 - Étant donné qu'un espace free normal est limité à 100 MO d'espace disque, la copie d'un fichier de cette taille est impossible puisqu'elle provoquerait un dépassement de quota.
3- IL est possible d'étendre son quota à 1 ou 10 Go. Par conséquent, le point 2 ne s'appliquerait plus pour un compte possédant cette capacité.
Par contre, free peut tout à fait, pour des raisons légitimes, interdire de posséder sur son compte un fichier d'une taille supérieure à un maximum fixé (voir la FAQ de free à ce sujet pour plus de détails si c'est le cas, j'en ai aucune idée).
Par exemple, il fut un temps où j'étais chez un hébergeur gratuit qui refusait d'emblée les fichiers de plus de 4 Mo en dehors de toute considération de script php (en l'occurence le serveur FTP refusait systématiquement un tel transfert).
4- Free peut également refuser la possession de certains types de fichiers, pour des raisons de sécurité ou de copyright (par exemple, il ne peut pas vérifier qu'un MP3 ou une vidéo soit présente légalement, de ce fait il refuse ces types de fichiers pour éviter des problèmes juridiques). Là aussi renseigne-toi, bien qu'ayant passé 2 ans chez free, je ne sais pas si free a ce genre de pratiques parce que je n'ai jamais utilisé de type de fichiers tendancieux.
5 - S'il ne s'agit pas d'une des possibilités précédentes, il peut y avoir un problème de mémoire insuffisante.
Je ne connais pas les détails du fonctionnement de copy, mais si le fichier est intégralement mis en buffer avant copie, c'est bien possible puisque pour copier un fichier de 100 Mo de cette façon, il faut... 100 Mo de RAM, et en général on autorise un script php à en utiliser 32 au maximum indépendament de la capacité de la machine où se trouve le site.
Modifié par QuentinC (13 Mar 2007 - 08:56)
Salut
c'est super_ballo8 qui a raison, il suffit de faire un petit phpinfo() pour trouver ceci

upload_max_filesize 2M 2M

et copier un fichier distant c'est tout bêtement de l'upoad...
Have swing