Ich habe eine Website auf einem PC gehostet, auf den ich keinen Zugriff habe. Ich habe ein Upload-Formular, mit dem Leute MP3-Dateien mit einer Größe von bis zu 30 MB hochladen können. Mein serverseitiges Skript wird in PHP erstellt.
Jedes Mal, wenn ich versuche, eine Datei hochzuladen, wird eine Fehlermeldung angezeigt, dass die Datei die maximal zulässige Größe überschreitet. Daher muss ich die Größe erhöhen. Meine Recherchen im Internet haben ergeben, dass die .htaccess
Datei geändert wird, auf die ich keinen Zugriff habe, sodass dies nicht funktioniert. Andere schlugen vor, dass ich php.ini
meinem Stammverzeichnis eine benutzerdefinierte Datei hinzufügen sollte, die nicht funktionierte. Irgendwelche anderen Vorschläge?
post_max_size
. Die Gesamtgröße der geposteten Felder ist möglicherweise höher als die Dateigröße. Wenn Sie also den Randfall haben, dass jemand eine 40-MB-Datei hochlädt, schlägt dies aufgrund einer Überschreitung fehlpost_max_size
.Sie können es über eine
.htaccess
Datei ändern ..htaccess
Dateien werden im selben Verzeichnis wie Ihre.php
Dateien gespeichert. Sie ändern die Konfiguration für diesen Ordner und alle Unterordner. Sie verwenden sie einfach, indem Sie eine.htaccess
Datei in einem Verzeichnis Ihrer Wahl erstellen (oder ändern, falls vorhanden).Folgendes sollte es Ihnen ermöglichen, Ihr Upload-Limit zu erhöhen (wenn der Serveranbieter Änderungen an der PHP-Konfiguration über zulässt
.htaccess
).quelle
;user_ini.filename = ".user.ini"
; Um diese Funktion zu deaktivieren, setzen Sie diese Option auf leeren Wert;user_ini.filename =
Ich hatte das gleiche Problem und habe eine .user.ini-Datei erstellt und in das Verzeichnis gestellt, in dem sich das Upload-Skript befindet. Als in dieser Datei setze ich diese zwei Werte:
und es hat super für mich funktioniert!
quelle
Sie können auch die Funktion ini_set verwenden (nur für PHP-Versionen unter 5.3):
Wie @acme sagte, sind diese Einstellungen in PHP 5.3 und höher PHP_INI_PERDIR-Direktiven, sodass sie nicht mit ini_set festgelegt werden können. Sie können stattdessen user.ini verwenden.
quelle
Führen Sie zuerst die INI-Datei aus, um sie zu suchen
Öffnen Sie dann die Datei und ändern Sie sie
Ersetzen Sie die 2M durch die gewünschte Größe, z. B. 100M.
Ich habe einen Blog-Beitrag über mit ein bisschen mehr Infos auch http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini- Datei für WordPress
quelle
/etc/php5/cli/php.ini
aber meine Konfigurationsdatei ist/etc/php5/apache2/php.ini
. Eine Art irreführend.Ich habe das gleiche Problem in der Vergangenheit .. und ich habe es durch
.htaccess
Datei behobenWenn Sie Änderungen an der PHP-Konfigration vornehmen
.htaccess
, sollten Sie Konfigrationen in dasIfModule
Tag einfügen , da sonst der interne Serverfehler auftritt .Dies ist ein Beispiel, es funktioniert gut für mich:
Und dies ist PHP-Referenz, wenn Sie mehr verstehen wollen. http://php.net/manual/en/configuration.changes.php
quelle
Ich habe dieses Problem behoben, indem ich eine Datei erstellt habe, die
.user.ini
in dem Verzeichnis aufgerufen wurde, in dem sich die PHP-Dateiskripte befinden (dies bedeutet, dass jedes PHP-Skript in diesem Verzeichnis die neue Dateigrößenbeschränkung erhält).Der Inhalt von
.user.ini
waren:quelle
Ich hatte das gleiche Problem. Ich habe drei Wege ausprobiert, die normalerweise vorgeschlagen wurden:
keine wenn was mein Problem gelöst hat. Ich benutze Godaddy und bin auf eine vorgeschlagene Lösung gestoßen, die war:
Voila! Jetzt hast du eine andere maximale Upload-Dateigröße :)
quelle
Oft ist mir aufgefallen, dass Websites mit Shared Hosting keine Änderungen der Einstellungen in php.ini-Dateien zulassen. man kann auch gar nicht erst die .htaaccess-datei kisten. In einer solchen Situation kann man versuchen, folgende Dinge zu tun
quelle
Die Antworten sind etwas unvollständig, 3 Dinge, die Sie tun müssen
in php.ini Ihrer PHP-Installation (Hinweis: Je nachdem, ob Sie es für CLI, Apache oder Nginx möchten, finden Sie die richtige php.ini zum Bearbeiten. Für Nginx befindet es sich normalerweise dort,
/etc/php/7.1/fpm
wo 7.1 von Ihrer Version abhängt. Für Apache normalerweise/etc/php/7.1/apache2
)oder andere Werte einstellen. Starten Sie Apache neu / laden Sie es neu, wenn Sie Apache installiert haben, oder php-fpm für nginx, wenn Sie nginx verwenden.
quelle
Nun, ich möchte hier meine 2 Cent hinzufügen.
Ich verwende Shared Webhosting und habe dieses Problem viele Male angegangen. Ich habe versucht, es selbst zu lösen, aber ohne Erfolg. Schließlich gelang es mir, das Problem zu beheben, indem ich verschiedene Webquellen überprüfte und meinen Hosting-Dienstleister kontaktierte. Meine Fragen lauteten "Wie kann ich den PHP-Wert
memory_limit
in Shared Webhosting ändern ?", "Wie kann ich den PHP-Wertupload_max_filesize
in Shared Webhosting ändern ?", "Wie kann ich den PHP-Wertmax_input_vars
in Shared Webhosting ändern ?", "Wie kann ich den PHP-Wertmax_execution_time
in ändern?" Shared Webhosting? "," Wie kann ich den PHP-Wertmax_input_time
in Shared Webhosting ändern ? " und vieles mehr durch Konfigurieren oder Ändern der php.ini oder der.htaccess
Datei. Ich habe versucht, sie zu ändern, aber es traten Probleme auf. Schließlich kontaktierte ich meinen Hosting-Anbieter und es stellte sich heraus, dass ich mein PHP auf native eingestellt habe. Sie haben es auf PHP 5.6 geändert.Danach habe ich meine Website über FTP Filezilla verbunden. Vergessen Sie auch nicht, sowohl Ihren FTP-Dienst zum Anzeigen versteckter Dateien als auch Ihren lokalen Computer zu verwenden, da die
.htaccess
Datei in meinem lokalen Laptop und auf meiner Website versteckt war. Es war im Ordner public_html verfügbar. Ich habe es gerade heruntergeladen und die folgenden Codes am Ende der Datei hinzugefügt und dann wieder auf den Server hochgeladen:Im Moment funktioniert alles einwandfrei. Wenn einer von Ihnen Probleme hat, schreiben Sie bitte hier und warnen Sie mich, damit ich die oben gezeigten Codes ändern kann. Übrigens lade ich auch einige Bilder hoch, die die Änderung zeigen.
Eine weitere Sache, die ich fast vergessen hätte, die ZipArchive-Installation in Ihrem gemeinsam genutzten Webhosting-Dienst zu erwähnen. Ich habe diese Anforderung zum Aktivieren erfüllt, indem ich einfach über mein Cpanel zu den PHP-Einstellungen gegangen bin, auf die PHP-Auswahlerweiterungen geklickt und dann den Zip-Bereich angekreuzt habe, das ist alles.
Vielen Dank.
PS: Ich bin offen für gute Praktiken, und wenn Sie hier schlechte Praktiken sehen, lassen Sie es mich bitte wissen, ich werde versuchen, sie zu ändern. Vielen Dank.
quelle
Vielleicht sollte dies ein Kommentar zu @ seanb123 und @Fredrick Gauss sein, der seinen Kommentar kommentiert, aber für mich in Drupal 8.1 mit PHP 7 befand sich hier die Datei, die ich ändern musste:
Ich habe wahrscheinlich vier andere php.ini-Dateien modifiziert, darunter die von meinem System als "Loaded Configuration File" (
php -i | grep -i "loaded configuration file"
) bezeichnete und die auf der info.php-Seite gefundene, aber keine davon hat geholfen. Der Schlüssel zum Erkennen des richtigen Pfades wurde ab 2012 auf einer Website gefunden. Sie sagten, der Pfad"/etc/php5/apache2/php.ini"
sei bereits zurück veraltet, aber es gab mir einen Hinweis, wo ich ihn finden konnte. Für PHP7 ist es etwas anders als für PHP5, aber das Konzept ist das gleiche.Vielleicht hilft das einem ansonsten hilflosen Trottel wie mir.
Abgesehen davon wäre die Antwort auf das OP in meinem Fall, dass jemand mit Administratorrechten auf der Box dies tun müsste.
Die Seite, die mir geholfen hat: http://www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/
Dies wird auch hier angesprochen: Dateigrößenbeschränkung in PHPMyAdmin importieren
EDIT: der vollständige Text meiner Notiz an mich selbst:
WIEDER BEARBEITEN: Da Sie große Dateien importieren, müssen Sie möglicherweise das Zeitlimit für die Verarbeitung ändern. In meinem Fall wurde die Datei "config.default.php"
/usr/share/phpmyadmin/libraries/config.default.php
mit der Variablen gefunden, die$cfg['ExecTimeLimit'] = 300;
ich beispielsweise für einen großen Import in 900 geändert habe. Danach müssen Sie Apache neu startenquelle
Keine dieser Lösungen funktioniert für mich !! (standardmäßig bereits auf 32 MB eingestellt). Das Problem ist in den meisten Fällen
max_allowed_packet
Ich arbeite an localhost und benutze
MAMP
.Hier sind Lösungen;
1. Wenn Sie nicht haben
my.ini
Hinzufügen
Zu
2. Wenn Sie my.ini haben
Unter
Hinzufügen
ERLEDIGT!
quelle
Drei Dinge, die Sie überprüfen müssen.
upload_max_filesize
,memory_limit
undpost_max_size
genau in der Konfigurationsdatei php.ini.Alle diese drei Einstellungen begrenzen die maximale Datengröße, die von PHP übermittelt und verarbeitet werden kann.
In der Regel
post_max_size
undmemory_limit
müssen größer sein alsupload_max_filesize
.Insgesamt müssen Sie also drei Variablen überprüfen, um absolut sicher zu sein.
quelle
Damit
WAMP
ist alles ziemlich einfachService (s) werden automatisch neu geladen.
Aber wenn Sie wirklich haben keinen Zugriff auf den Server haben, sollten Sie das Schreiben einer
chunking
API untersuchen.quelle
Ich hatte auch dieses Problem und habe es durch Einstellen dieser Einstellung behoben
/etc/nginx/nginx.conf
0, wie in unbegrenzt.
Und wenn Sie einen Reverse-Proxy haben, der mit nginx ausgeführt wird, sollte dieser Server auch diese Einstellung haben (das hat mich hier abgeworfen)
quelle
Wenn Sie die richtige php.ini-Datei bearbeitet, Apache oder Nginx neu gestartet haben und immer noch nicht funktionieren, müssen Sie auch php-fpm neu starten :
quelle
Da globale Änderungen etwas riskant sind, habe ich versucht, den maximalen Upload-Wert für ein einzelnes Skript zu erhöhen
big_file_upload.php
. Aus irgendeinem Grundini_set
hat nicht geholfen. Nach einigen Recherchen habe ich mir das ausgedacht. Gib es ein.htaccess
(es sei denn, der Name wurde über geändertAccessFileName
)Hat für mich gearbeitet.
quelle