La solución fue crear una carpeta llamada tmp
así:/usr/share/phpmyadmin/tmp
.
También asegúrese de que el usuario (o grupo) que ejecuta el servidor web (por ejemplo, Apache) tenga acceso de escritura a la carpeta tmp recién creada. En consecuencia, cambie la propiedad a ese usuario o agregue acceso de escritura para todos los usuarios. Este último podría no ser muy recomendable.
La solución simple es crear el directorio tmp en su directorio phpmyadmin y establecer el permiso en 777
mkdir tmp && chmod 777 tmp
entonces
actualice su archivo config.inc.php agregue esa línea
$cfg['TempDir'] = 'tmp';
Tuve este mismo problema en Ubuntu 18.04 cuando reemplacé la versión de phpMyAdmin del repositorio de paquetes (v4.6.6) con la última versión (4.8.0). No sé si está ejecutando Ubuntu, pero tal vez mi respuesta sea útil para usted (u otras personas) que encuentren algo similar.
Puse la nueva versión en la ubicación estándar, /usr/share/phpmyadmin/
, pero la instalación del paquete de Ubuntu de PMA pone algunos ajustes de configuración en otros lugares (ver /etc/phpmyadmin/
y /var/lib/phpmyadmin/
). Encontré esta configuración en /etc/phpmyadmin/apache.conf
:
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
y, efectivamente, ese directorio se había creado y tenía los permisos adecuados. Con el deseo de permanecer lo más cerca posible de la configuración de instalación del paquete, hice este cambio en /usr/share/phpmyadmin/libraries/vendor_config.php
y apuntó directamente a esa carpeta:
//define('TEMP_DIR', './tmp/');
define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');
Esta configuración es recogida por /usr/share/phpmyadmin/libraries/config.default.php
(que se supone que no debes editar) para configurar $cfg['TempDir']
.