J'ai un site Web hébergé sur un PC auquel je n'ai pas accès. J'ai un formulaire de téléchargement permettant aux gens de télécharger des fichiers mp3 jusqu'à 30 Mo de large. Mon script côté serveur se fait en PHP.
Chaque fois que j'essaie de télécharger un fichier, je reçois une erreur indiquant que le fichier dépasse la taille maximale autorisée, j'ai donc besoin d'augmenter la taille. Mes recherches sur le Web ont suggéré de modifier le .htaccess
fichier auquel je n'ai pas accès, donc cela ne fonctionnera pas. D'autres ont suggéré que j'ajoute php.ini
à ma racine un fichier personnalisé qui ne fonctionnait pas. D'autres suggestions?
post_max_size
. La taille globale des champs publiés peut être supérieure à la taille du fichier, donc si vous rencontrez le cas de bord de quelqu'un qui télécharge un fichier de 40 Mo, il échouera en raison d'un dépassementpost_max_size
.Vous pouvez le modifier via un
.htaccess
fichier..htaccess
les fichiers sont stockés dans le même répertoire que vos.php
fichiers. Ils modifient la configuration de ce dossier et de tous les sous-dossiers. Vous les utilisez simplement en créant un.htaccess
fichier dans le répertoire de votre choix (ou modifiez-le s'il est présent).Les éléments suivants devraient vous permettre d'augmenter votre limite de téléchargement (si le fournisseur de serveur autorise les modifications de configuration PHP via
.htaccess
).la source
;user_ini.filename = ".user.ini"
; Pour désactiver cette fonction, définissez cette option sur une valeur vide;user_ini.filename =
J'ai eu le même problème et j'ai créé un fichier .user.ini et l'ai placé dans le répertoire dans lequel se trouvait le script de téléchargement. À l'intérieur de ce fichier, j'ai défini ces deux valeurs:
et cela a très bien fonctionné pour moi!
la source
Vous pouvez également utiliser la fonction ini_set (uniquement pour la version PHP inférieure à 5.3):
Comme l'a dit @acme, en php 5.3 et supérieur, ces paramètres sont des directives PHP_INI_PERDIR donc ils ne peuvent pas être définis en utilisant ini_set. Vous pouvez utiliser user.ini à la place.
la source
Pour localiser le fichier ini, exécutez d'abord
Ouvrez ensuite le fichier et modifiez
remplacer le 2M par la taille souhaitée, par exemple 100M.
J'ai aussi un article de blog avec un peu plus d'informations http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini- fichier-pour-wordpress
la source
/etc/php5/cli/php.ini
mais mon fichier de configuration l'est/etc/php5/apache2/php.ini
. Une sorte de tromperie.J'ai le même problème dans le passé .. et je l'ai résolu via un
.htaccess
fichierLorsque vous apportez des modifications à la configuration de php,
.htaccess
vous devez mettre les configurations dans laIfModule
balise, à l'exception de l' erreur du serveur interne .Ceci est un exemple, cela fonctionne bien pour moi:
Et c'est la référence php si vous voulez en savoir plus. http://php.net/manual/en/configuration.changes.php
la source
J'ai résolu ce problème en créant un fichier appelé
.user.ini
dans le répertoire où résident les scripts de fichiers PHP (cela signifie que tout script PHP dans ce répertoire obtient la nouvelle taille limite de fichier)Le contenu de
.user.ini
était:la source
J'ai eu le même problème. J'ai essayé trois façons qui étaient généralement suggérées:
aucun si cela a résolu mon problème. J'utilise godaddy et suis tombé sur une solution suggérée qui était:
Voila! Vous avez maintenant une taille de fichier de téléchargement maximale différente :)
la source
plusieurs fois, j'ai remarqué que le site avec un hébergement partagé ne permet pas de modifier les paramètres des fichiers php.ini. on ne peut même pas du tout créer de fichier .htaaccess. dans une telle situation, on peut essayer de suivre les choses
la source
les réponses sont un peu incomplètes, 3 choses à faire
dans php.ini de votre installation php (remarque: selon que vous le souhaitez pour CLI, apache ou nginx, trouvez le bon php.ini à manipuler. Pour nginx, il est généralement situé
/etc/php/7.1/fpm
là où 7.1 dépend de votre version. Pour apache généralement/etc/php/7.1/apache2
)ou définissez d'autres valeurs. Redémarrez / rechargez apache si vous avez installé apache ou php-fpm pour nginx si vous utilisez nginx.
la source
Eh bien, je voudrais ajouter mes 2 cents ici.
J'utilise l'hébergement Web partagé et j'ai résolu ce problème plusieurs fois, j'ai essayé de le résoudre moi-même mais en vain. Enfin, j'ai réussi à le résoudre en vérifiant diverses sources Web et en contactant mon fournisseur de services d'hébergement. Mes questions étaient "Comment puis-je changer la valeur php
memory_limit
dans l'hébergement web partagé?", "Comment puis-je changer la valeur phpupload_max_filesize
dans l'hébergement web partagé?", "Comment puis-je changer la valeur phpmax_input_vars
dans l'hébergement web partagé?", "Comment puis-je changer la valeur phpmax_execution_time
dans hébergement Web partagé? "," Comment puis-je modifier la valeur phpmax_input_time
dans l'hébergement Web partagé? " et bien d'autres encore en configurant ou en modifiant php.ini ou.htaccess
fichier. J'ai essayé de les changer mais des problèmes sont survenus. Enfin, j'ai contacté mon hébergeur, et il s'avère que j'ai défini mon php en natif, ils l'ont changé en php 5.6,Après cela, j'ai connecté mon site Web via ftp Filezilla, n'oubliez pas de faire à la fois votre service ftp pour afficher les fichiers cachés et votre ordinateur local pour le faire, car le
.htaccess
fichier a été caché dans mon ordinateur portable local et sur mon site Web. Il était disponible dans le dossier public_html, je viens de le télécharger et j'ai ajouté les codes suivants à la fin du fichier, puis je l'ai téléchargé à nouveau sur le serveur:Tout fonctionne correctement pour le moment, si vous êtes confronté à des problèmes, veuillez écrire ici et m'avertir afin que je puisse modifier les codes ci-dessus. Soit dit en passant, je télécharge également quelques photos qui montrent le changement.
Une autre chose que j'ai presque oublié de mentionner l'installation de ZipArchive sur votre service d'hébergement Web partagé, j'ai réussi à cocher cette condition en accédant simplement aux paramètres php via mon cpanel, en cliquant sur les extensions du sélecteur php, puis en cochant la section zip, c'est tout.
Merci.
PS: Je suis ouvert aux bonnes pratiques, et si vous voyez des mauvaises pratiques ici, faites-le moi savoir, je vais essayer de les changer. Merci.
la source
Peut-être que cela devrait être un commentaire à @ seanb123 et @Fredrick Gauss commentant son commentaire, mais pour moi dans Drupal 8.1 avec PHP 7, le fichier que je devais modifier était situé ici:
J'ai probablement modifié quatre autres fichiers php.ini, y compris celui que mon système a appelé le "fichier de configuration chargé" (
php -i | grep -i "loaded configuration file"
) et celui trouvé sur la page info.php, mais aucun d'eux n'a aidé. La clé pour découvrir le bon chemin a été trouvée sur un site à partir de 2012. Ils ont dit que le chemin"/etc/php5/apache2/php.ini"
était obsolète même EN ARRIÈRE, mais cela m'a donné un indice où le trouver. Pour PHP7, c'est un peu différent de PHP5 mais le concept est le même.Peut-être que cela aidera certains schmuck autrement impuissants comme moi.
Cela étant dit, la réponse à l'OP dans mon cas serait que quelqu'un avec des privilèges d'administrateur sur la boîte devrait le faire.
Le site qui m'a aidé: http://www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/
Ceci est également traité ici: Importer la limite de taille de fichier dans PHPMyAdmin
EDIT: le texte intégral de ma note pour moi:
MODIFIER ENCORE: puisque vous importez de gros fichiers, vous devrez peut-être modifier le délai d'expiration pour les traiter. Dans mon cas, le fichier nommé "config.default.php" a été trouvé
/usr/share/phpmyadmin/libraries/config.default.php
avec la variable$cfg['ExecTimeLimit'] = 300;
J'ai changé le mien en 900 pour une importation énorme, par exemple. Ensuite, vous devez redémarrer Apachela source
Aucune de ces solutions ne fonctionne pour moi !! (déjà réglé à 32M par défaut). Le problème est dans la plupart des cas
max_allowed_packet
Je travaille sur localhost et utilise
MAMP
.Voici des solutions;
1. Si vous n'avez pas
my.ini
Ajouter
À
2. Si vous avez my.ini
En dessous de
Ajouter
TERMINÉ!
la source
Trois choses que vous devez vérifier.
upload_max_filesize
,memory_limit
Etpost_max_size
dans le fichier de configuration php.ini exactement.Ces trois paramètres limitent la taille maximale des données pouvant être soumises et traitées par PHP.
Typiquement
post_max_size
etmemory_limit
doivent être plus grands queupload_max_filesize
.Donc, trois variables au total que vous devez vérifier pour être absolument sûr.
la source
Avec tout
WAMP
cela est assez facileLe ou les services se rechargent automatiquement.
Mais, si vous n'avez vraiment pas accès au serveur, vous voudrez peut-être explorer l'écriture d'une
chunking
API.la source
J'ai également eu ce problème et l'ai résolu en définissant ce paramètre dans
/etc/nginx/nginx.conf
0, comme en illimité.
Et aussi, si vous avez un proxy inverse fonctionnant avec nginx, ce serveur devrait également avoir ce paramètre (c'est ce qui m'a jeté ici)
la source
Si vous avez modifié le bon fichier php.ini, redémarré Apache ou Nginx et ne fonctionne toujours pas, vous devez également redémarrer php-fpm :
la source
Comme changer à l'échelle mondiale est quelque peu risqué, j'essayais d'augmenter la valeur de téléchargement maximale pour un seul script
big_file_upload.php
. Pour une raison quelconque, celaini_set
n'a pas aidé. Après quelques recherches, j'ai trouvé cela. Mettez-le.htaccess
(sauf si le nom a changé viaAccessFileName
)A travaillé pour moi.
la source