MantisBT ne me laissera pas télécharger un fichier qui est plus grand que 1MB, il dit que le fichier est plus grand que la limite de PHP. MantisBT fonctionne sur un NAS Synology avec le DSM 6.1 actuel, il est installé via le centre de paquets. Ce paquet a une dépendance sur PHP 5.6, qui est installé à côté de PHP 7.0. Il est possible de se connecter via SSH et d'exécuter un sudo su
.Augmenter la taille de téléchargement max pour MantisBT sur Synology NAS
Je /volume1/web/mantisbt/index.php
modifié pour exécuter phpinfo() and die();
, il montre le chemin de configuration /usr/local/etc/php56/php.ini
qui dit 32MB
pour les upload_max_filesize
et post_max_size
.
Sur la base de données back-end MariaDB j'ai couru ces requêtes via phpMyAdmin:
SET GLOBAL max_allowed_packet = 32000000;
SHOW VARIABLES WHERE Variable_name = "max_allowed_packet";
Dont le résultat est 32000000
, mais avec un autre SQL-client (et MantisBT probablement trop) je lis encore une valeur par défaut de 1048576
. Ce comportement est nouveau
Appliqué la réponse que j'ai donnée ci-dessous. L'erreur est toujours là. Édité le code MantisBT au point de l'erreur (file_api.php: 849), PHP renvoie l'erreur UPLOAD_ERR_FORM_SIZE
dans $_FILES
, ce qui signifie Valeur: 2; Le fichier téléchargé dépasse la directive MAX_FILE_SIZE
spécifiée dans le formulaire HTML. Je rappelle qu'il n'y avait pas de ligne max_file_size
dans php.ini
...
Édité à nouveau le code MantisBT. var_dump(config_get('max_file_size'));
renvoie int(1000000)
. Bingo! Mais max_file_size n'est pas un ini-directive, où le définir? This post n'aide pas non plus. Mais this one fait.
La solution est d'éditer manuellement config_defaults_inc.php
et de définir $g_max_file_size = 1000000;
par ex. $g_max_file_size = 33554432;
. Eh bien, n'était-ce pas une expérience amusante et prenante ...