Maison développement back-end tutoriel php Comment résoudre le problème selon lequel PHP ne parvient toujours pas à télécharger des fichiers volumineux ?

Comment résoudre le problème selon lequel PHP ne parvient toujours pas à télécharger des fichiers volumineux ?

Jul 26, 2017 am 09:29 AM
php 上传

PHP ne parvient toujours pas à télécharger des fichiers volumineux, mais il n'y a aucun problème lors du téléchargement de petits fichiers. Au début, j'étais perplexe, mais finalement j'ai vérifié les informations pertinentes en ligne et compilé un article sur les raisons et les solutions à l'échec de PHP à télécharger des fichiers volumineux. Je l'ai partagé avec tout le monde. J'espère qu'il vous plaira.

Voici diverses raisons et solutions :
Cas 1 : Le répertoire temporaire dans lequel le fichier est stocké lors du téléchargement du fichier doit être ouvert et accessible à l'utilisateur propriétaire du processus PHP Écrit annuaire. Si rien n'est spécifié, PHP utilise la valeur par défaut du système.
Upload_tmp_dir dans le fichier php.ini est utilisé pour décrire le répertoire temporaire dans lequel sont placés les fichiers téléchargés par PHP. Si vous souhaitez télécharger des fichiers, vous devez vous assurer que le serveur n'a pas fermé le fichier temporaire et dispose de l'autorisation d'écriture sur le fichier. dossier.

Cas 2 : La valeur de max_execution_time doit être suffisamment grande. La variable max_execution_time définit le temps, mesuré en secondes, pendant lequel PHP attend la fin du script avant de le terminer de force. Cette variable est utile lorsque le script entre dans une boucle infinie. Cependant, cette fonctionnalité peut également provoquer l'échec de l'opération lorsqu'il existe une activité légitime qui prend beaucoup de temps (telle que le téléchargement d'un fichier volumineux). Dans de tels cas, vous devez envisager d'augmenter la valeur de cette variable pour empêcher PHP d'arrêter le script pendant que celui-ci exécute un processus important, comme le définir sur 90 secondes.
max_execution_time = 90
Notez qu'il existe également une fonction set_time_limit dans la fonction php, qui a le même effet que le paramètre ci-dessus. La différence entre les deux est que ce qui précède est défini dans le fichier php.ini, tandis que set_time_limit est écrit dans le fichier php. Par conséquent, vous pouvez également définir la durée d'exécution maximale du programme en utilisant set_time_limit sur la page. Par exemple, durée illimitée : set_time_limit(0);

Cas 3 : file_uploads = On, ce qui signifie qu'il est autorisé à transmettre le téléchargement de fichiers HTTP, cette option ne peut pas être définie sur OFF.

Cas 4 : upload_max_filesize = 2M définit la taille maximale de téléchargement de fichier. La taille de téléchargement de fichier par défaut dans le fichier de configuration php.ini est de 2 M. Une erreur que font souvent les débutants en PHP est d'écrire des fichiers. vous définissez la zone de formulaire pour la taille maximale du fichier téléchargé, c'est-à-dire la valeur maximale du fichier pouvant être téléchargé, et la valeur de max_file_size (champ de valeur cachée) pour spécifier la taille du fichier téléchargé. généralement, d'autres peuvent contourner cette valeur, donc pour des raisons de sécurité, il est préférable de configurer l'option upload_max_filesize dans le fichier de configuration php.ini pour définir la taille du téléchargement du fichier. La valeur par défaut upload_max_filesize = 2M, c'est-à-dire que la taille de téléchargement du fichier est de 2M. Si vous souhaitez télécharger des fichiers dépassant 8M, par exemple 20M, vous devez définir upload_max_filesize = 20M.

Cas 5 : post_max_size Cette valeur doit également être suffisamment grande. Cette variable est également une variable liée à la soumission du formulaire. Elle limite la quantité maximale de données que le programme PHP peut recevoir lorsque le client soumet un formulaire via la méthode POST. En général, cette valeur peut être légèrement supérieure à upload_max_filesize. Par exemple, si vous souhaitez télécharger un fichier de 20 Mo, cette valeur peut être définie sur 21 Mo.

Cas 6 : max_input_time Cette variable peut limiter le temps de réception des données via POST, GET et PUT en secondes. Si l'application s'exécute dans un environnement avec un réseau lent, vous devez augmenter cette valeur pour augmenter le temps requis pour recevoir les données, par exemple, définissez cette valeur sur 90 secondes.
max_input_time = 90

Cas 7 : memory_limit doit également être suffisamment grand. Afin d'éviter que l'exécution de scripts n'utilise une grande quantité de mémoire système disponible, PHP permet de définir des limites d'utilisation de la mémoire. Utilisez la variable memory_limit pour spécifier la capacité de mémoire maximale qu'un seul script peut utiliser. La valeur de la variable memory_limit doit être correctement supérieure à la valeur de post_max_size.

Scénario 8 : De plus, si votre hôte est un système d'exploitation nginx, si les opérations ci-dessus ne fonctionnent pas, pensez à ajouter client_max_body_size 20m dans le fichier de configuration nginx. Cette phrase signifie que le téléchargement maximum autorisé est de 20 Mo ; , en fonction de votre propre situation. L'emplacement de mon fichier de configuration nginx est /usr/local/nginx/conf/nginx.conf.


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

CakePHP est un framework MVC open source. Cela facilite grandement le développement, le déploiement et la maintenance des applications. CakePHP dispose d'un certain nombre de bibliothèques pour réduire la surcharge des tâches les plus courantes.

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

See all articles