Comment définir upload_max_filesize dans .htaccess?

90

J'ai essayé de mettre ces 2 lignes

php_value post_max_size 30M
php_value upload_max_filesize 30M

dans mon fichier racine .htaccess mais cela m'apporte un message "Erreur interne du serveur" ...
php5 fonctionne sur le serveur
Je n'ai pas accès à php.ini donc je pense que htaccess est ma seule chance.
Pouvez-vous me dire où est l'erreur?
Merci d'avance

T1000
la source

Réponses:

137

php_value upload_max_filesize 30M est correct.

Vous devrez contacter vos hébergeurs - certains ne vous permettent pas de modifier les valeurs dans php.ini

Kerry Jones
la source
2
Merci mais ini_set () ne fonctionne pas pour upload_max_filesize et post_max_size: /
T1000
quand vous dites "ne fonctionne pas", voulez-vous dire, ne pas produire le résultat souhaité / produire une erreur / autre chose?
Kerry Jones
définissez error_reporting (E_ALL) et voyez si quelque chose s'affiche. En dehors de cela, contactez votre fournisseur d'hébergement, il devrait être en mesure de vous aider. Certains bloquent les modifications apportées à ces variables, car ils ne souhaitent pas que vous deveniez un site majeur du trafic.
Kerry Jones
14
Ces options ne peuvent pas être définies par ini_set (). Voir php.net/manual/en/ini.list.php et php.net/manual/en/configuration.changes.modes.php
dev-null-
De nombreux hébergeurs ne le permettent pas, mais vous pouvez également créer un fichier php.ini, le mettre à la racine du site et remplacer les valeurs là-bas.
Erik Čerpnjak
37

Si vous obtenez 500 - Erreur de serveur interne, cela signifie que vous n'êtes pas autorisé à définir ces valeurs par .htaccess . Vous devez contacter vos fournisseurs de serveur Web et demander à définir AllowOverride Optionsvotre hôte ou à mettre ces lignes dans leur fichier de configuration d'hôte virtuel.

dev-null-dweller
la source
Je vous remercie. Le journal des erreurs a donné des absurdités sur les commandes non valides, ce qui est loin de «Allez changer votre fichier de configuration d'hôte virtuel».
Altimus Prime
33
php_value memory_limit 30M
php_value post_max_size 100M
php_value upload_max_filesize 30M

Utilisez tous les 3 .htaccessaprès tout à la dernière ligne. php_value post_max_sizedoit être supérieur aux deux autres.

Groupe VAPP
la source
2
puis-je savoir la raison pour laquelle php_value post_max_sizedoit être plus que les deux autres?
Anusha
@Anusha si vous y réfléchissez, vous pourriez faire un message avec deux fichiers de 30M + plus de données textuelles, et cela coûtera quelques octets supplémentaires, c'est probablement la raison
giovannipds
12

Pour corriger cela, créez un fichier appelé php.ini et enregistrez-le au même emplacement que votre fichier .htaccess et entrez le code suivant à la place:

upload_max_filesize = "250M"
post_max_size = "250M"
Shaishav Shah
la source
4
Cela ne fonctionnera que sur certains environnements d'hébergement. A travaillé pour moi sur mon compte d'hébergement Web Fusion.
Ian Jamieson
3

Si votre serveur Web exécute php5, je pense que vous devez utiliser php5_value. Cela a résolu la même erreur que j'ai reçue lors de l'utilisation php_value.

PCTuneUpGuy
la source
-2

Les deux commandes sont correctes

php_value post_max_size 30M 
php_value upload_max_filesize 30M 

MAIS pour utiliser le, .htaccessvous devez activer rewrite_moduledans le fichier de configuration Apache. Dans httpd.conftrouver cette ligne:

# LoadModule rewrite_module modules/mod_rewrite.so

et retirez le fichier #.

Afshin
la source
6
IMHO, pour permettre l'utilisation de .htaccess, tout ce que vous avez à faire est de définir AllowOverrideautre chose que none. Le chargement de rewrite_modulen'est requis que pour les directives ModRewrite.
RonaldPK