La soluzione era creare una cartella chiamata tmp
come questo:/usr/share/phpmyadmin/tmp
.
Assicurati inoltre che l'utente (o il gruppo) che esegue il server Web (ad esempio Apache) abbia accesso in scrittura alla cartella tmp appena creata. Di conseguenza, modificare la proprietà per quell'utente o aggiungere l'accesso in scrittura per tutti gli utenti. Quest'ultimo potrebbe non essere davvero consigliabile.
una soluzione semplice è creare la directory tmp nella directory phpmyadmin e impostare il permesso su 777
mkdir tmp && chmod 777 tmp
allora
aggiorna il tuo file config.inc.php aggiungi quella riga
$cfg['TempDir'] = 'tmp';
Ho avuto lo stesso problema su Ubuntu 18.04 quando ho sostituito la versione phpMyAdmin dal repository dei pacchetti (v4.6.6) con l'ultima versione (4.8.0). Non so se stai utilizzando Ubuntu, ma forse la mia risposta sarà utile a te (o ad altri) che incontrano qualcosa di simile.
Inserisco la nuova versione nella posizione standard, /usr/share/phpmyadmin/
, ma l'installazione del pacchetto Ubuntu di PMA inserisce alcune impostazioni di configurazione in altri posti (vedi /etc/phpmyadmin/
e /var/lib/phpmyadmin/
). Ho trovato questa impostazione in /etc/phpmyadmin/apache.conf
:
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
e sicuramente quella directory era stata creata e aveva le autorizzazioni appropriate. Volendo rimanere il più vicino possibile alle impostazioni di installazione del pacchetto, ho apportato questa modifica in /usr/share/phpmyadmin/libraries/vendor_config.php
e puntato direttamente a quella cartella:
//define('TEMP_DIR', './tmp/');
define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');
Questa impostazione viene acquisita da /usr/share/phpmyadmin/libraries/config.default.php
(che non dovresti modificare) per impostare $cfg['TempDir']
.