8722 sujets

Développement web côté serveur, CMS

Bonjour,

Je sais que çà à l'air bateau comme çà ; mais je ne retrouve plus comment on augmente la limite de taille d'upload d'un fichier Smiley ohwell

J'ai d'abord essayé :
ini_set('upload_max_filesize', '100M');


Puis en lisant la doc j'ai cru comprendre qu'on ne pouvait pas passé par ini_set pour cette valeur mais que l'on pouvait à partir d'un .htaccess.

J'ai donc créé mon fichier :
AllowOverride FileInfo Indexes Limit

php_value upload_max_filesize 200M
php_value post_max_size 1000M
php_value memory_limit = 100M
php_value max_execution_time 300
php_value max_input_time 300


Je sais j'ai tout poussé à fond mais je peux me le permettre Smiley langue ! Seulement voilà çà fonctionne pas ; lorsque je fais un phpinfo() je suis toujours à la valeur initial.

Mon fichier se trouve à la racine du projet et possède les droits 777.

Merci à tous !
Salut,

J'ai actuellement le même problème sur un nouveau serveur ou est installé virtualmin. Je n'est pas encore eu le temps de faire de recherche.

Mais il me semble que si je mets le fichier à la racine du compte utilisateur, les directives sont bien prises en compte.
JE pense qu'il faut obligatoirement passer par le php.ini pour modifier ces paramètres.

La commande AllowOverrides permet justement à apache de resteindre ce qui est modifiable ou pas dans un .htaccess. Donc cette commande-là ne marchera jamais dans un .htaccess ou alors c'est une grosse faille de sécurité. De même, les maximums de taille sont là pour éviter les surcharges normalement, donc ils ne sont logiquement pas censés être modifiables aussi facilement.

Si tu n'est pas sur un dédié ou si ton hébergeur ne te permet pas d'utiliser un php.ini local à ton domaine, il faut te référer à leur panel d'administration où tu trouveras peut-être quelque chose et/ou leur support.
Modérateur
Salut,

Sur Linux et dans un terminal :

#nano /etc/php5/apache2/php.ini


chercher la ligne :

upload_max_filesize = 2M


Modifier la valeur à sa convenance en oubliant pas de laisser l'unité de mesure (M). Sinon la valeur sera prise en octets (...).

chercher la ligne :

post_max_size = 8M

Modifier la valeur à sa convenance en oubliant pas de laisser l'unité de mesure (M). Sinon la valeur sera prise en octets (...).

Sauvegarder le fichier.
Relancer le serveur :

#/etc/init.d/apache2 restart


Sur les autres OS, chercher le php.ini, faire la modif et relancer le serveur.
ps : toujours faire une sauvegarde du fichier initial avant de faire des modifs sur ce dernier.
Modifié par niuxe (27 Oct 2013 - 17:20)
Bonjour à tous,

J'ai bien un serveur dédié ; je peux donc en effet utiliser mon .ini mais je n'en ai pas envie Smiley langue !

J'héberge actuellement une multitude de site et dans lesquels je n'ai pas forcément envie d'autoriser l'upload de documents dépassant les 200Mo ^^ !

Apparement, rien est possible si on ne passe pas par le .ini je vais donc me tourner vers cette solution ; mais uniquement dans le cas ou je peux dédié un max_upload_filesize à des répertoires précis ?

Merci à tous pour vos réponses.
Je viens de penser à une solution qui peut peut-être marcher si tu n'as pas envie de toucher au php.ini, ce qui se comprend facilement si tu héberges plusieurs sites. Tu ne peux pas définir ces paramètres dans un .htaccess, mais tu peux peut-être le faire dans le httpd.conf ou dans la configuration d'un vhost. Et là, si ça marche, tu peux le faire seulement pour un site ou un sous-répertoire à l'aide des sections apache comme <directory>.

Si tu utilises un panel, il y a probablement un endroit pour entrer des directives personnalisées pour un vhost en particulier. Sinon c'est dans /etc/apache2/sites_availables/ ou quelque chose du genre.
Par exemple dans DTC c'est dans configuration domaines, en cliquant sur un domaine particulier.
Modifié par QuentinC (29 Oct 2013 - 14:05)
Modérateur
mini-truc a écrit :
Merci QuentinC, je vais regarder cette solution. Je vous ferais un retour si j'ai réussi ou pas Smiley ohwell .

Salut,

De mon côté, j'ai essayé de passer par un vhost pour surcharger la config du php.ini. Ça était sans succès. J'ai fait un truc comme :

<VirtualHost *:80>
    ServerName mon-v-host.ext
    DocumentRoot /var/www/monsite1
    <Directory /var/www/monsite>
       AllowOverride All
       Options All -Indexes
       Order allow,deny
       Allow from all

       php_value memory_limit 32M

    </Directory>
</VirtualHost>

J'ai essayé aussi :

<VirtualHost *:80>
    ServerName mon-v-host.ext
    DocumentRoot /var/www/monsite1
    <Directory /var/www/monsite>
       AllowOverride All
       Options All -Indexes
       Order allow,deny
       Allow from all

       [b]php_admin_value[/b] memory_limit 32M

    </Directory>
</VirtualHost>

Je t'avoue que je suis pas un cador en Apache. J'ai peut être fait une erreur dans la config du vhost.

En faisant quelques recherches, j'ai lu qu'on peut passer par un htaccess. Cependant, certains paramètres ne peuvent être configurés. Certains paramètres son pour le système et d'autres sur les repertoires et d'autres sont pour tous. Quand cela concerne pour tout, il y aucun problème pour la surcharge : display_error. Ca passe impec dans un ini_set.