La solution consistait à créer un dossier appelé tmp
comme ceci :/usr/share/phpmyadmin/tmp
.
Assurez-vous également que l'utilisateur (ou le groupe) exécutant le serveur Web (par exemple, Apache) dispose d'un accès en écriture au dossier tmp nouvellement créé. Par conséquent, modifiez la propriété de cet utilisateur ou ajoutez un accès en écriture à tous les utilisateurs. Ce dernier n'est peut-être pas vraiment conseillé.
une solution simple consiste à créer un répertoire tmp dans votre répertoire phpmyadmin et à définir l'autorisation sur 777
mkdir tmp && chmod 777 tmp
alors
mettez à jour votre fichier config.inc.php ajoutez cette ligne
$cfg['TempDir'] = 'tmp';
J'ai eu le même problème sur Ubuntu 18.04 lorsque j'ai remplacé la version phpMyAdmin du référentiel de packages (v4.6.6) par la dernière version (4.8.0). Je ne sais pas si vous utilisez Ubuntu, mais peut-être que ma réponse vous sera utile (ou à d'autres) qui rencontrent quelque chose de similaire.
J'ai mis la nouvelle version à l'emplacement standard, /usr/share/phpmyadmin/
, mais l'installation du paquet d'Ubuntu de PMA place certains paramètres de configuration à d'autres endroits (voir /etc/phpmyadmin/
et /var/lib/phpmyadmin/
). J'ai trouvé ce paramètre dans /etc/phpmyadmin/apache.conf
:
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
et bien sûr, ce répertoire avait été créé et disposait des autorisations appropriées. Voulant rester au plus près des paramètres d'installation du paquet, j'ai effectué cette modification en /usr/share/phpmyadmin/libraries/vendor_config.php
et pointe directement vers ce dossier :
//define('TEMP_DIR', './tmp/');
define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');
Ce paramètre est repris par /usr/share/phpmyadmin/libraries/config.default.php
(que vous n'êtes pas censé modifier) pour définir $cfg['TempDir']
.