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

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


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.


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.


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"

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.


-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 #.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.