De maximale bestandsgrootte voor het uploaden wijzigen

Ik heb een website die wordt gehost op een pc waartoe ik geen toegang heb. Ik heb een uploadformulier waarmee mensen mp3-bestanden tot 30 MB groot kunnen uploaden. Mijn server-side script is gemaakt in PHP.

Elke keer als ik een bestand probeer te uploaden, krijg ik een foutmelding dat het bestand de maximaal toegestane grootte overschrijdt, dus ik moet de grootte vergroten. Mijn onderzoek op het web stelde voor om het .htaccess-bestand te wijzigen waar ik geen toegang toe heb, dus dat zal niet werken. Anderen suggereerden dat ik een aangepast php.ini-bestand aan mijn root moest toevoegen, wat niet werkte. Nog andere suggesties?


Antwoord 1, autoriteit 100%

Je moet de waarde van upload_max_filesizeen post_max_sizeinstellen in je php.ini :

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M
; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

Na het wijzigen van php.ini-bestand(en), moet u uw HTTP-server opnieuw opstarten om de nieuwe configuratie te gebruiken.

Als je je php.ini niet kunt wijzigen, heb je pech. U kunt deze waarden niet tijdens runtime wijzigen; uploads van bestanden die groter zijn dan de waarde gespecificeerd in php.ini zullen zijn mislukt tegen de tijd dat de uitvoering uw aanroep naar ini_setbereikt.

Zie de Beschrijving van de belangrijkste php.ini-richtlijnen.


Antwoord 2, autoriteit 17%

Je kunt het wijzigen via een .htaccess-bestand.

.htaccess-bestanden worden opgeslagen in dezelfde map als uw .php-bestanden. Ze wijzigen de configuratie voor die map en alle submappen. U gebruikt ze gewoon door een .htaccess-bestand aan te maken in de map van uw keuze (of deze aan te passen indien aanwezig).

Het volgende moet u in staat stellen om uw uploadlimiet te verhogen (als de serverprovider PHP-configuratiewijzigingen mogelijk maakt via .htaccess).

php_value upload_max_filesize 40M
php_value post_max_size 42M

Antwoord 3, Autoriteit 7%

Ik had hetzelfde probleem en heb ik een .User.ini-bestand gemaakt en in de map geplaatst waarin het uploadscript zich bevond. Dan in dat bestand, stel ik deze twee waarden in:

 upload_max_filesize = 40M
  post_max_size = 40M

En het werkte geweldig voor mij!


Antwoord 4, Autoriteit 6%

U kunt ook INI_SET-functie (alleen voor PHP-versie onder 5.3) gebruiken:

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');

Zoals @ACME zei, in PHP 5.3 en boven deze instellingen zijn de richtlijnen PHP_INI_PERDIR, zodat ze niet kunnen worden ingesteld met InI_SET. U kunt in plaats daarvan gebruiker.ini gebruiken.


Antwoord 5, Autoriteit 5%

Om het INI-bestand te vinden, voert u eerst

php -i | grep -i "loaded configuration file"

Open vervolgens het bestand en wijzig

upload_max_filesize = 2M
post_max_size = 2M

De 2M vervangen door de gewenste grootte, bijvoorbeeld 100 m.

Ik heb een blogpost over met een beetje meer info ook http://www.seaanbehan.com/how-to-increase-change-the-file-upload-size-in-he-php-ini -File-for-WordPress


Antwoord 6, autoriteit 5%

Ik heb in het verleden hetzelfde probleem gehad .. en ik heb het opgelost via het .htaccess-bestand

Wanneer u wijzigingen aanbrengt in de php-configuratie via .htaccess, moet u de configuraties in
IfModule-tag, anders dan dat de Interne serverfoutzal optreden.

Dit is een voorbeeld, het werkt prima voor mij:

<IfModule mod_php5.c>
   php_value upload_max_filesize 40M
   php_value post_max_size 40M
</IfModule>

En dit is php-referentie als je meer wilt weten.
http://php.net/manual/en/configuration.changes.php


Antwoord 7, autoriteit 2%

Ik heb dit probleem opgelost door een bestand met de naam .user.inite maken in de map waar de PHP-bestandsscripts zich bevinden (dit betekent dat elk PHP-script in deze map de nieuwe bestandsgroottelimiet krijgt)

p>

De inhoud van .user.iniwas:

upload_max_filesize = 40M
post_max_size = 40M

Antwoord 8

de antwoorden zijn een beetje onvolledig, 3 dingen die je moet doen

in php.ini van uw php-installatie (let op: afhankelijk van of u het voor CLI, apache of nginx wilt, zoek de juiste php.ini om te manipuleren. Voor nginx bevindt het zich meestal in /etc/php/7.1/fpmwaarbij 7.1 afhankelijk is van uw versie. Voor apache meestal /etc/php/7.1/apache2)

post_max_size=500M
upload_max_filesize=500M
memory_limit=900M

of stel andere waarden in. Herstart/laad apache opnieuw als je apache hebt geïnstalleerd of php-fpmvoor nginx als je nginx gebruikt.


Antwoord 9

vaak heb ik gemerkt dat sites met shared hosting geen instellingen in php.ini-bestanden toestaan. men kan zelfs helemaal geen .htaaccess-bestand maken. in zo’n situatie kan men proberen de volgende dingen te volgen

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);

Antwoord 10

Misschien zou dit een opmerking moeten zijn voor @seanb123 en @Fredrick Gauss die op zijn opmerking reageren, maar voor mij in Drupal 8.1 met PHP 7 stond het bestand dat ik moest aanpassen hier:

/etc/php/7.0/apache2/php.ini

Ik heb waarschijnlijk vier andere php.ini-bestanden aangepast, waaronder het bestand dat mijn systeem het “Geladen configuratiebestand” noemt (php -i | grep -i "loaded configuration file") en het gevonden bestand op de info.php-pagina, maar geen van hen hielp. De sleutel tot het vinden van het juiste pad werd gevonden op een site uit 2012. Ze zeiden dat het pad "/etc/php5/apache2/php.ini"zelfs toen al verouderd was, maar het gaf me een idee waar om het te vinden. Voor PHP7 is het een beetje anders dan in PHP5, maar het concept is hetzelfde.

Misschien helpt dit een anders zo hulpeloze eikel zoals ikzelf.

Dat gezegd hebbende, zou het antwoord op de OP in mijn geval zijn dat iemand met beheerdersrechten op de box het zou moeten doen.

De site die me heeft geholpen: http://www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/

Dit wordt hier ook behandeld: Bestandslimiet importeren in PHPMyAdmin

BEWERKEN:
De volledige tekst van mijn briefje voor mezelf:

Om de maximale uploadgrootte te wijzigen, bewerken Upload_Max_Filize en
[indien nodig?] post_max_size in /etc/php/7.0/apache2/php.ini (of in
Oudere versies: /etc/php5/apache2/php.ini)

/etc/init.d/apache2 herstarten

Bewerken opnieuw:
Omdat u grote bestanden importeert, moet u mogelijk de time-out wijzigen voor het verwerken ervan. In mijn geval is het bestand genoemd, “config.default.php” gevonden op /usr/share/phpmyadmin/libraries/config.default.phpmet de variabele $cfg['ExecTimeLimit'] = 300;
Ik veranderde de mijne tot 900 voor een enorme import, bijvoorbeeld.
Naderhand moet je Apache opnieuw opstarten


Antwoord 11

Ik had hetzelfde probleem. Ik heb drie manieren geprobeerd die meestal werden gesuggereerd:

  1. Functions.php
  2. php.ini
  3. .htaccess

Geen als die mijn probleem heeft opgelost. Ik gebruik Godaddy en kwam een ​​voorgestelde oplossing tegen die:

  1. Naar Web Hosting , dan beheren
  2. onder software Selecteer Selecteer PHP-versie
  3. Selecteer Overschakelen naar PHP-opties gevonden in de rechterbovenhoek van de tafel in lettertype Kleur: blauw
  4. Op het onderste deel heb je waarschijnlijk upload_max_filesize = 2M
  5. Nu, voel je vrij om het te veranderen
  6. Klik op de knop opslaan
  7. Ga nu naar uw WP-Admin-paneel, selecteer Media Dan Voeg
  8. toe

voila! Nu hebt u een andere MAX Upload-bestandsgrootte:)


Antwoord 12

Nou, ik zou hier mijn 2 cent hier toevoegen.

Ik gebruik gedeelde webhosting en ik pakte dit probleem vele malen aan, probeerde het alleen op te lossen, maar zonder resultaat.
Uiteindelijk heb ik het kunnen oplossen door verschillende webbronnen te controleren en contact op te nemen met mijn hostingserviceprovider. Mijn vragen waren “Hoe kan ik de php-waarde memory_limitwijzigen in gedeelde webhosting?”, “Hoe kan ik de php-waarde upload_max_filesizewijzigen in gedeelde webhosting?”, “Hoe kan ik php-waarde max_input_varsin gedeelde webhosting?”, “Hoe kan ik de php-waarde max_execution_timewijzigen in gedeelde webhosting?”, “Hoe kan ik de php-waarde max_input_timein gedeelde webhosting?” en nog veel meer door het php.ini- of .htaccess-bestand te configureren of te wijzigen. Ik heb geprobeerd ze te veranderen, maar er ontstonden problemen. Uiteindelijk heb ik contact opgenomen met mijn hostingprovider, en het blijkt dat ik mijn php op native heb gezet, zij hebben het gewijzigd in php 5.6, hier is hun antwoord:

“Uw PHP is ingesteld op ‘native’ modus, wat betekent dat u deze niet kunt overschrijven
die waarden. Ik heb je veranderd in ‘5.6’, dus dat zou je goed moeten doen
ga.”

Daarna heb ik mijn website verbonden via ftp Filezilla, vergeet ook niet om zowel je ftp-service te maken om verborgen bestanden weer te geven, als je lokale computer om dit te doen, omdat het .htaccess-bestand verborgen was op mijn lokale laptop en op mijn website. Het was beschikbaar in de map public_html, ik heb het zojuist gedownload en de volgende codes aan het einde van het bestand toegevoegd en het vervolgens weer naar de server geüpload:

php_value memory_limit 256M
php_value post_max_size 256M
php_value upload_max_filesize 64M
php_value max_input_vars 1800
php_value max_execution_time 300
php_value max_input_time 300

Alles werkt voorlopig naar behoren, als iemand van jullie problemen ondervindt, schrijf dan hier en waarschuw me zodat ik de hierboven getoonde codes kan wijzigen. Trouwens, ik upload ook enkele foto’s die de verandering laten zien.

Nog één ding dat ik bijna vergat te vermelden ZipArchive-installatie op uw gedeelde webhostingservice, ik slaagde erin die vereiste aan te vinken door gewoon naar php-instellingen te gaan via mijn cpanel, op php-selectorextensies te klikken en vervolgens het zip-gedeelte aan te vinken, dat is alles.

Bedankt.

PS: Ik sta open voor goede praktijken, en als je hier slechte praktijken ziet, laat het me dan weten, ik zal proberen ze te veranderen. Bedankt.


Antwoord 13

Geen van deze oplossingen werkt voor mij!! (standaard al ingesteld op 32M). Het probleem is in de meeste gevallen max_allowed_packet

Ik werk aan localhost en gebruik MAMP.

Hier zijn oplossingen;

1. Als u my.ini

niet heeft

Toevoegen

--max_allowed_packet=168435456

Naar

...\MAMP\bin\startMysql.sh

2. Als je my.ini

. hebt

Onder

[mysqld]

Toevoegen

max_allowed_packet=100M

KLAAR!


Antwoord 14

Drie dingen die u moet controleren.

upload_max_filesize, memory_limiten post_max_sizeexact in het php.ini-configuratiebestand.

Al deze drie instellingen beperken de maximale gegevensgrootte die kan worden ingediend en verwerkt door PHP.

Normaal gesproken moeten post_max_sizeen memory_limitgroter zijn dan upload_max_filesize.


Dus drie variabelen totaaldie u moet controleren om absoluut zeker te zijn.


Antwoord 15

Met WAMPis het allemaal vrij eenvoudig

WAMP-pictogram > PHP > PHP-instellingen > upload_max_filesize = nM > n = (2M, 4M, 8M, 16M, 32M, 64M, 128M, 256M, 512M of Kies (aangepast)).

Service(s) worden automatisch opnieuw geladen.

Maar als je echt geentoegang tot de server hebt, wil je misschien eens proberen om een chunkingAPI te schrijven.


Antwoord 16

Omdat wereldwijd veranderen nogal riskant is, probeerde ik de maximale uploadwaarde voor een enkel scriptbig_file_upload.phpte verhogen. Om de een of andere reden hielp ini_setniet. Na enig speurwerk ben ik hierop gekomen. Zet het in .htaccess(tenzij de naam wordt gewijzigd via AccessFileName)

<If "%{REQUEST_URI} == '/subfolder/big_file_upload.php'" >
php_value upload_max_filesize 200M
php_value post_max_size 200M
</If>
<Else>
php_value upload_max_filesize 1M
php_value post_max_size 1M
</Else>

Werkte voor mij.


Antwoord 17

Als je het juiste php.ini-bestand hebt bewerkt, Apache of Nginx opnieuw hebt opgestart en nog steeds niet werkt, moet je ook php-fpmopnieuw opstarten:

sudo service php-fpm restart 

Antwoord 18

Ik had dit probleem ook en heb het opgelost door deze instelling in /etc/nginx/nginx.conf

te zetten

client_max_body_size 0;

0, zoals in onbeperkt.

En ook, als je een reverse proxy hebt die draait met nginx, zou die server ook deze instelling moeten hebben (dit is wat me hier van de wijs bracht)


Antwoord 19

  1. Open het php.ini-bestand.

  2. Zoek trefwoord zoals upload_max_filesize in php.ini.

  3. Verander dan de grootte van het bestand.

    upload_max_filesize = 400M

  4. Moet de maximale postwaarde wijzigen.

    post_max_size = 400M


Antwoord 20

Na urenlang heb ik bijna alle berichten doorgenomen, maar geen geluk. En eindelijk het probleem opgelost met deze stappen. Dit is misschien een rare oplossing, maar werkte voor mij.

Stap 1: zoek het php.ini-bestand in de map /etc of / map door hieronder cmd uit te voeren:

grep -rl "post_max_size" | xargs ls -lrth

Hier heb ik het trefwoord post_max_size gebruikt om het bestand “php.ini” in de map /etc te doorzoeken, maar in sommige systemen kun je dit vinden in de mappen /var/www/html of /var/www/wordpress.

p>

We hebben meerdere berichten op internet alsof het php.ini-bestand niet aanwezig is in de WordPress-map, dan kun je die maken, maar in mijn geval werkt dat niet.

Stap 2:

Bewerken PHP.INI-bestand en wijzig de waarde zoals deze.

post_max_size = 100M   
upload_max_filesize = 100M

In het bovenstaande kunt u een waarde instellen volgens uw vereiste.

Stap 3:

Start de HTTPD- of NGINX- of APACHE- EN PHP-service opnieuw of volgens de installatie kunt u de webservice opnieuw opstarten.

Voor mij Werkte HTTPD- en PHP-FPM-servicestart werkte in CentOS 8:

service httpd restart
service php-fpm restart

Other episodes