web-dev-qa-db-fra.com

Modification de upload_max_filesize sur PHP

J'utilise PHP 5.3.0 et j'ai rencontré quelque chose qui pourrait être un bogue (dans ce cas, je le signalerai) ou qui pourrait être moi-même - alors je demande à être sûr.

Lors de l'exécution de ce code:

<?php
ini_set('upload_max_filesize', '10M');
echo ini_get('upload_max_filesize'), ", " , ini_get('post_max_size')

Je me retrouve avec:

2M, 8M

Ceci malgré mes paramètres php.ini plus élevés:

upload_max_filesize = 10M
post_max_size = 10M

(une seule fois)

Parce que l'erreur se produit après la définition de la valeur et dans php.ini, je suis enclin à penser que c'est un bogue. Quelqu'un peut-il me confirmer ou me signaler où je me trompe?

Mise à jour: On dirait que le redémarrage d'Apache a résolu ce problème - J'ai toujours pensé qu'il n'était pas nécessaire de le redémarrer si vous changiez le fichier php.ini.

77
Ross

Vous ne pouvez pas utiliser notation abrégée pour définir des valeurs de configuration autres que PHP.ini. Je suppose qu’il revient à 2 Mo en tant que valeur par défaut lorsque compilé est confronté à une mauvaise valeur.

D'autre part, je ne pense pas que upload_max_filesize Puisse être défini avec ini_set(). La liste "officielle" indique qu'il s'agit de PHP_INI_PERDIR.

60
Rob

Utilisez-vous un fournisseur d'hébergement partagé? Il peut s'agir de paramètres principaux remplaçant tout ce que vous essayez de modifier. Avez-vous essayé d'ajouter ceux-ci dans votre .htaccess?

php_value upload_max_filesize 10M
php_value post_max_size 10M
69
karim79

Comme je viens de rencontrer ce problème sur un hôte partagé et que je ne pouvais pas ajouter les valeurs à mon fichier .htaccess, je pensais partager ma solution.

J'ai créé un fichier ini avec les valeurs qu'il contient. Aussi simple que cela:

Créez un fichier appelé ".user.ini" et ajoutez vos valeurs

upload_max_filesize = 150M
post_max_size = 150M

Boom, problème résolu.

37
quid

Je travaille avec un fichier .user.ini dans le même répertoire que mon script index.php qui charge mon application. Voici le contenu:

upload_max_filesize = "20M"
post_max_size = "25M"

C'est la solution recommandée pour Heroku.

9
dwenaus

Ceci peut également être contrôlé avec la configuration Apache. Recherchez dans httpd.conf et/ou .htaccess quelque chose comme ce qui suit:

php_value upload_max_filesize 10M
5
Byron Whitlock

Si vous utilisez un serveur local, tel que wamp ou xampp, assurez-vous qu'il utilise le fichier php.ini que vous pensez être. Ces serveurs utilisent généralement par défaut un fichier php.ini qui ne se trouve pas dans votre dossier de documents html.

0
Beachhouse