Hey !
Récemment, j’ai du pour un projet importer une grosse base de données SQL (merci Magento :3), dont la taille faisait plus de 16 Mo ! Malheureusement par défaut phpmyadmin ne propose pas d’importer des fichiers dont la taille excède 2 Mo. On va donc changer notre configuration afin d’autoriser l’upload de fichiers plus conséquent.
Configuration du fichier php.ini
Php.ini est un fichier de configuration qui est lu par PHP lorsqu’il démarre. Il permet de renseigner les modules utilisés, mais également des options comme justement la taille d’import des fichiers ! Pour plus d’informations, il faut aller voir la documentation !
Pour éditer le fichiers, sous Windows, il suffit de cliquer sur l’icône de Wamp dans la barre des tâches, puis de choisir php > php.ini. Sous linux, il faut se rendre dans le dossier /etc/php/8.1/apache2.
cd /etc/php/8.1/apache2
Ensuite, on édite le fichier php.ini, avec notre éditeur préféré, du style :
sudo vim php.ini
Nous allons maintenant voir quelle variable, on va devoir éditer.
La première variable à modifier est post_max_size
Elle Définit la taille maximale des données reçues par la méthode POST. Cette option affecte également les fichiers chargés. Pour charger de gros fichiers, cette valeur doit être plus grande que la valeur de upload_max_filesize
Par défaut la valeur est de 8M, ce qui correspond à un fichier d’une taille de 8 Mo, on va donc augmenter cette taille personnellement, je mets environ 100 Mo, ce qui commence à faire déjà une sacrée base de données.
post_max_size = 100m
La seconde variable à modifier est upload_max_filesize
La taille maximale en octets d’un fichier à charger.
Ici, également je réserve environ 100 Mo, soit upload_max_filesize = 100M.
upload_max_filesize = 100m
Enfin, La dernière variable est memory_limit
Cette option détermine la mémoire limite, en octets, qu’un script est autorisé à allouer. Cela permet de prévenir l’utilisation de toute la mémoire par un script mal codé. Notez que pour n’avoir aucune limite, vous devez définir cette directive à -1.
Autrement dit, la consommation maximum de mémoire, en général je mets la moitié de mes ressources. J’ai 4 Go de ressources donc 2000 Mo.
memory_limit = 2000M
Redémarrer apache2 et c’est parti l’import de grosse base de données SQL
Sous Windows, enregistrez le fichier puis retournez sur le menu Wamp et enfin redémarrez tous vos services.
Sous linux, il suffit de faire :
sudo /etc/init.d/apache2 restart
C’est bon ! Vous pouvez allez pouvoir importer vos base de donénes !
Oufff !
ça sauve la vie ! merci !
Merci !