


Comment résoudre le problème de ne pas pouvoir télécharger des fichiers au-dessus de 48 Mo lors du téléchargement des tuiles vidéo à l'aide de JS, PHP et Apache?
Apr 01, 2025 am 11:00 AMPercée 48 Mo Limite: JS, PHP et Apache Video Sinsicing Téléchargez des solutions
Dans le développement de petits projets, la gestion des téléchargements de fichiers importants rencontrent souvent des défis. Cet article partagera un cas pratique: comment surmonter la limite de taille de fichier de 48 Mo lors du téléchargement de découpage vidéo à l'aide de JavaScript, PHP et Apache.
Problème: 48 Mo Téléchargez un goulot d'étranglement
Le projet adopte un schéma de téléchargement de tranches, qui prend en charge théoriquement 2 Go de fichiers, 1 Mo par tranche et jusqu'à 2 000 pièces. Cependant, dans les tests réels, après avoir téléchargé plus de 48 Mo (environ 48 pièces), les demandes suivantes renvoient 500 erreurs. Même si la taille de la tranche est redimensionnée à 10 Mo, le problème persiste.
Analyse et amélioration du code
Code javascript:
Dans le code d'origine, FormData
n'a été initialisé qu'une seule fois, ce qui a entra?né chaque demande transportant toutes les données de tranche téléchargées, qui ont finalement dépassé la limite fcgidmaxrequestlen
d'Apache.
Le code JavaScript amélioré est le suivant. La clé consiste à réinstraster FormData
avant que chaque demande ne soit envoyée:
fonction videofileupload () { CONTr Length = 1024 * 1024; // 1 Mo LET START = 0; LET END = longueur de démarrage; Laissez BLOB_NUM = 1; SET IS_STOP = 0; this.start = function () { const file = files.files [0]; const blob = cutfile (fichier); sendFile (blob, fichier); BLOB_NUM; } // ... (le reste du code reste le même) ... fonction sendFile (blob, fichier) { if (is_stop === 0) { const xhr = new xmlHttpRequest (); const form_data = new formData (); // Clé: réinstallez FormData à chaque fois const total_blob_num = math.ceil (file.size / longueur); form_data.append ('fichier', blob); form_data.append ('blob_num', blob_num); form_data.append ('total_blob_num', total_blob_num); form_data.append ('file_name', file.name); xhr.open ('post', '/upload.php', false); // ... (le reste du code reste le même) ... } } // ... (le reste du code reste le même) ... }
Code PHP:
La logique de fusion de fichiers dans le code PHP peut également avoir des problèmes d'efficacité de la mémoire. Pour les fichiers surdimensionnés, le streaming est recommandé pour éviter de lire toutes les tranches en mémoire à la fois. (Le code PHP est omis ici car le code d'origine ne fournit pas de fuites de mémoire ou d'efficacité évidentes, et l'objectif de l'amélioration est du c?té JS)
Résumé de la solution
Le c?ur du problème réside dans la réutilisation des objets FormData
dans le code JavaScript. En rétablissant l'objet FormData
avant chaque demande, l'accumulation de données est évitée, résolvant ainsi la limite de téléchargement de 48 Mo. Pour le c?té PHP, si des problèmes de mémoire se produisent lors du traitement des fichiers volumineux, vous devez optimiser davantage la logique de fusion de fichiers et adopter le traitement en streaming. Cette solution d'amélioration résout efficacement le problème des téléchargements de fichiers importants et garantit la stabilité et la fiabilité des téléchargements de découpage vidéo.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Les étapes pour déployer un site Web Joomla sur PHPStudy incluent: 1) Configurer PHPStudy, s'assurer que les services Apache et MySQL s'exécutent et vérifient la compatibilité de la version PHP; 2) Télécharger et décompresser le site Web de PHPStudy du site officiel de Joomla au répertoire racine de PHPStudy, puis compléter l'installation via le navigateur selon l'assistant d'installation; 3) Faire des configurations de base, telles que la définition du nom du site Web et l'ajout de contenu.

Le code PHP peut être exécuté de plusieurs manières: 1. Utilisez la ligne de commande pour entrer directement le "nom de fichier PHP" pour exécuter le script; 2. Mettez le fichier dans le répertoire racine du document et accédez-y via le navigateur via le serveur Web; 3. Exécutez-le dans l'IDE et utilisez l'outil de débogage intégré; 4. Utilisez le bac à sable PHP en ligne ou la plate-forme d'exécution de code pour les tests.

Cause que les performances du système ne se rétablissent pas après la désinstallation du service Apache peuvent inclure l'occupation des ressources par d'autres services, les messages d'erreur dans les fichiers journaux, la consommation de ressources par des processus anormaux, des problèmes de connexion réseau et des résidus de système de fichiers. Tout d'abord, vérifiez s'il existe d'autres services ou processus avant de désinstaller avec Apache; Deuxièmement, faites attention aux fichiers journaux du système d'exploitation et recherchez des messages d'erreur qui peuvent se produire pendant le processus de désinstallation; Deuxièmement, vérifiez l'utilisation de la mémoire du système et la charge du processeur et découvrez des processus anormaux; Ensuite, utilisez la commande netstat ou ss pour afficher l'état de la connexion réseau pour vous assurer qu'aucun port n'est occupé par d'autres services; Enfin, nettoyez les fichiers de configuration et les fichiers journaux restants après une désinstallation pour éviter d'occuper l'espace disque.

La mise à jour de la version Tomcat dans le système Debian comprend généralement le processus suivant: Avant d'effectuer l'opération de mise à jour, assurez-vous de faire une sauvegarde complète de l'environnement Tomcat existant. Cela couvre le dossier / opt / tomcat et ses documents de configuration connexes, tels que server.xml, context.xml et web.xml. La tache de sauvegarde peut être terminée via la commande suivante: sudocp-r / opt / tomcat / opt / tomcat_backup Obtenez la nouvelle version Tomcat allez sur le site officiel d'apachetomcat pour télécharger la dernière version. Selon votre système Debian

La commande pour démarrer le service Apache sur macOS est SudoapachectlStart, et le fichier de configuration est situé dans / etc / apache2 /. Les étapes principales incluent: 1. Modifier le fichier httpd.conf, modifier le port d'écoute tel que écouter8080; 2. Ajustez le chemin DocumentRoot vers le répertoire personnel tel que / utilisateurs / vos sites / sites et mettez à jour les paramètres d'autorisation correspondants; 3. Utilisez la commande sudoapachectlGraceful pour redémarrer Apache pour vous assurer que la configuration prend effet; 4. Activez le module MOD_DEFLATE pour compresser les données pour améliorer la vitesse de chargement des pages.

Les raisons de l'échec de la suppression de fichiers pendant la désinstallation Apache incluent les problèmes d'autorisation de fichier, les fichiers de verrouillage et les processus en cours d'exécution. Les solutions incluent: 1. Arrêtez le service Apache: SudosystemctlStopPapache2; 2. Supprimer manuellement le répertoire Apache: sudorm-rf / etc / apache2 / usr / sbin / apache2; 3. Utilisez LSOF pour trouver et terminer le processus de verrouillage du fichier: sudolsof | grepapache2, puis sudokill-9; 4. Essayez de supprimer à nouveau le fichier.

La configuration d'Apache pour se connecter à la base de données MySQL nécessite les étapes suivantes: 1. Assurez-vous qu'Apache et MySQL sont installés; 2. Configuration d'Apache pour prendre en charge PHP, en ajoutant des instructions LoadModule et AddHandler dans httpd.conf ou apache2.conf; 3. Configuration de PHP pour se connecter à MySQL, activez l'extension MySQLI dans php.ini; 4. Créez et testez le fichier PHP connecté. Grace à ces étapes, la connexion entre Apache et MySQL peut être implémentée avec succès.

Il existe de nombreuses méthodes et outils pour surveiller les grappes Hadoop sur les systèmes Debian. Voici quelques outils de surveillance couramment utilisés et leurs méthodes d'utilisation: l'outil de surveillance de Hadoop HadoopAdminui: Accédez à l'interface HadoopAdminui via un navigateur pour comprendre intuitivement l'état du cluster et l'utilisation des ressources. HadoopResourceManager: accédez à ResourceManager webui (généralement http: // ResourceManager-ip: 8088) pour surveiller l'utilisation des ressources du cluster et l'état du travail. Hadoop
