


Wie kann ich das Problem l?sen, dass Dateien nicht in der Lage sind, Dateien über 48 MB hochzuladen, wenn Sie Videofliesen mit JS, PHP und Apache hochladen?
Apr 01, 2025 am 11:00 AMDurchbruch von 48 MB Grenze: JS, PHP und Apache Video Slading Upload -L?sungen
In der kleinen Projektentwicklung sto?en die Abwicklung gro?er Dateien -Uploads h?ufig vor Herausforderungen. In diesem Artikel wird ein praktischer Fall ver?ffentlicht: So überwinden Sie die Gr??enbeschr?nkung von 48 MB beim Hochladen von Videoschnitten mit JavaScript, PHP und Apache.
Problem: 48 MB Hochladen Engpass
Das Projekt nimmt ein Slice -Upload -Schema an, das theoretisch 2 GB -Dateien, 1 MB pro Slice und bis zu 2.000 Stück unterstützt. In den tats?chlichen Tests gibt es jedoch nach dem Hochladen von mehr als 48 MB (ca. 48 Teile) nachfolgende Anforderungen 500 Fehler zurück. Auch wenn die Scheibengr??e auf 10 MB ge?ndert wird, bleibt das Problem bestehen.
Codeanalyse und Verbesserung
JavaScript -Code:
Im ursprünglichen Code wurde FormData
-Objekt nur einmal initialisiert, was dazu führte, dass jede Anforderung alle hochgeladenen Slice -Daten trug, die letztendlich die fcgidmaxrequestlen
-Grenze von Apache überschritten haben.
Der verbesserte JavaScript -Code lautet wie folgt. Der Schlüssel besteht darin, FormData
Objekt erneut zu lindern, bevor jede Anforderung gesendet wird:
Funktion VideofilEeupload () { const L?nge = 1024 * 1024; // 1mb start = 0; Sei enden = Startl?nge; lass Blob_num = 1; sei is_stop = 0; this.start = function () { const File = files.files [0]; const blob = cutfile (Datei); sendFile (Blob, Datei); Blob_num; } // ... (der Rest des Code bleibt gleich) ... Funktion sendFile (Blob, Datei) { if (is_stop === 0) { const xhr = new xmlhttprequest (); const form_data = new FormData (); // Schlüssel: Jedes Mal FormData neu instandieren const Total_blob_num = math.ceil (Datei.Size / L?nge); Form_Data.Append ('Datei', 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); // ... (der Rest des Code bleibt gleich) ... } } // ... (der Rest des Code bleibt gleich) ... }
PHP -Code:
Die Dateiverführungslogik im PHP -Code kann auch Probleme mit der Speichereffizienz haben. Für übergro?e Dateien wird das Streaming empfohlen, um zu vermeiden, dass alle Scheiben gleichzeitig in den Speicher gelangen. (Der PHP -Code wird hier weggelassen, da der ursprüngliche Code keine offensichtlichen Speicherlecks oder Effizienzprobleme liefert und der Schwerpunkt der Verbesserung auf der JS -Seite liegt.)
L?sung Zusammenfassung
Der Kern des Problems liegt in der Wiederverwendung von FormData
-Objekten im JavaScript -Code. Durch die Wiedereinstellung des FormData
-Objekts vor jeder Anforderung wird die Datenakkumulation vermieden, wodurch die 48 -MB -Upload -Grenze gel?st wird. Bei der PHP -Seite müssen Sie bei der Verarbeitung gro?er Dateien die Speicherprobleme auftreten, die die Logik der Datei zusammenführen und die Streaming -Verarbeitung annehmen müssen. Diese Verbesserungsl?sung l?st effektiv das Problem gro?er Dateien -Uploads und stellt die Stabilit?t und Zuverl?ssigkeit von Videoschneidempfehlern sicher.
Das obige ist der detaillierte Inhalt vonWie kann ich das Problem l?sen, dass Dateien nicht in der Lage sind, Dateien über 48 MB hochzuladen, wenn Sie Videofliesen mit JS, PHP und Apache hochladen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

Softwarevorbereitung Ich verwende eine virtuelle Maschine mit CentOS-6.6 mit dem Hostnamen Repo. In den Schritten zur Installation eines linux -virtuellen Computers in Windows habe ich JDK in dieser virtuellen Maschine installiert. Siehe Anleitung zum Installieren von JDK unter Linux. Darüber hinaus ist die virtuelle Maschine mit einem Schlüsselfreie anmeldung selbst konfiguriert, und die Einstellungen zum Konfigurieren der key-freien Anmeldung zwischen den einzelnen virtuellen Maschine werden referenziert. Die Download -Adresse des Hadoop -Installationspakets lautet: https://mirrors.aliyun.com/apache/hadoop/common/. Ich benutze Hadoop 2.6.5 -Version. Laden Sie das Hadoop -Installationspaket auf den Server hoch und entpacken Sie [root@repo ~] #tarzxv

Nginx und Apache sind beide leistungsstarke Webserver mit einzigartigen Vor- und Nachteilen in Bezug auf Leistung, Skalierbarkeit und Effizienz. 1) Nginx funktioniert bei der Behandlung statischer Inhalte und dem Umkehren von Proxen, geeignet für hohe Parallelit?tsszenarien. 2) Apache funktioniert bei der Verarbeitung dynamischer Inhalte besser und eignet sich für Projekte, für die ein reichhaltiges Modulunterstützung erforderlich ist. Die Auswahl eines Servers sollte basierend auf Projektanforderungen und Szenarien ermittelt werden.

Nginx eignet sich besser zum Umgang mit hohen gleichzeitigen Verbindungen, w?hrend Apache besser für Szenarien geeignet ist, in denen komplexe Konfigurationen und Modulverl?ngerungen erforderlich sind. 1.Nginx ist bekannt für seine hohe Leistung und den niedrigen Ressourcenverbrauch und ist für eine hohe Parallelit?t geeignet. 2.APACHE ist bekannt für seine Stabilit?t und die reichhaltigen Modulverl?ngerungen, die für komplexe Konfigurationsanforderungen geeignet sind.

Nginx und Apache haben jeweils ihre eigenen Vor- und Nachteile, und die Auswahl sollte auf bestimmten Bedürfnissen beruhen. 1.Nginx ist aufgrund seiner asynchronen nicht blockierenden Architektur für hohe Parallelit?tsszenarien geeignet. 2. Apache eignet sich für Szenarien mit niedriger Konsequenz, die aufgrund seines modularen Designs komplexe Konfigurationen erfordern.

Zu den Schritten zum Bereitstellen einer Joomla -Website auf PHPStudy geh?ren: 1) Konfigurieren Sie Phpstudy und stellen Sie sicher, dass Apache- und MySQL -Dienste die Kompatibilit?t der PHP -Version ausführen und überprüfen. 2) Laden und dekomprimieren die Website von Phpstudy von der offiziellen Joomla -Website auf das Root -Verzeichnis von Phpstudy und vervollst?ndigen Sie die Installation gem?? dem Installationsassistenten. 3) Erstellen Sie grundlegende Konfigurationen, z. B. das Festlegen des Website -Namens und das Hinzufügen von Inhalten.

Der PHP -Code kann auf viele Arten ausgeführt werden: 1. Verwenden Sie die Befehlszeile, um den "PHP -Dateinamen" direkt einzugeben, um das Skript auszuführen. 2. Einlegen Sie die Datei in das Dokument -Root -Verzeichnis und greifen Sie über den Browser über den Webserver darauf zu. 3. Führen Sie es in der IDE aus und verwenden Sie das integrierte Debugging-Tool. V.

Das Aktualisieren der Tomcat -Version im Debian -System enth?lt im Allgemeinen den folgenden Vorgang: Vor der Durchführung des Update -Vorgangs stellen Sie sicher, dass Sie die vorhandene Tomcat -Umgebung vollst?ndig erfüllen. Dies deckt den Ordner /opt /tomcat und seine zugeh?rigen Konfigurationsdokumente wie Server.xml, context.xml und web.xml ab. Die Sicherungsaufgabe kann über den folgenden Befehl ausgeführt werden: SudoCP-R/Opt/Tomcat/Opt/tomcat_backup erhalten Sie die neue Version Tomcat, um die offizielle Website von Apachetomcat zu erhalten, um die neueste Version herunterzuladen. Laut Ihrem Debian -System

Ursachen, dass die Systemleistung nach der Deinstallation des Apache -Dienstes nicht wiederhergestellt wird, kann die Ressourcenbelegung durch andere Dienste, Fehlermeldungen in Protokolldateien, Ressourcenverbrauch durch abnormale Prozesse, Netzwerkverbindungsprobleme und Dateisystemreste enthalten. überprüfen Sie zun?chst, ob andere Dienste oder Prozesse vor dem Deinstallieren mit Apache vorhanden sind. Zweitens achten Sie auf die Protokolldateien des Betriebssystems und finden Sie Fehlermeldungen, die w?hrend des Deinstallationsprozesses auftreten k?nnen. Zweitens überprüfen Sie den Speicherverbrauch und die CPU -Last des Systems und finden Sie abnormale Prozesse heraus. Verwenden Sie dann den Befehl netstat oder ss, um den Netzwerkverbindungsstatus anzuzeigen, um sicherzustellen, dass keine Ports von anderen Diensten belegt werden. Reinigen Sie schlie?lich die verbleibenden Konfigurationsdateien und protokollieren Sie Dateien nach der Deinstallation, um zu vermeiden, dass der Speicherplatz einnimmt.
