phpMyAdmin
a bien fonctionné avec v4.7.9. Maintenant, après avoir mis à jour v4.8.0 aujourd'hui (en remplaçant l'ancien dossier phpmyadmin
par le nouveau), je reçois ce message dans phpMyAdmin:
Le $ cfg ['TempDir'] (./tmp/) n'est pas accessible. phpMyAdmin n'est pas capable pour mettre en cache des modèles et sera lent à cause de cela.
J'ai ajouté le dossier ./tmp/
comme ceci: /usr/share/tmp
phpMyAdmin est sur: /usr/share/phpmyadmin
Cela n'a rien changé.
Qui sait cette erreur? Que puis-je faire?
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 (Apache, par exemple) dispose d'un accès en écriture au dossier tmp récemment créé. Par conséquent, modifiez la propriété de cet utilisateur ou ajoutez un accès en écriture à tous les utilisateurs. Ce dernier pourrait ne pas être vraiment souhaitable.
J'ai eu le même problème sur Ubuntu 18.04 lorsque j'ai remplacé la version de phpMyAdmin du référentiel de paquets (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 aidera (ou aidera d’autres) à faire face à quelque chose de similaire.
Je mets la nouvelle version à l'emplacement standard, /usr/share/phpmyadmin/
, mais l'installation du paquet PMA par Ubuntu 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 a été créé et dispose des autorisations appropriées. Désirant rester aussi proche que possible des paramètres d'installation du paquet, j'ai apporté cette modification à /usr/share/phpmyadmin/libraries/vendor_config.php
et pointé directement vers ce dossier:
//define('TEMP_DIR', './tmp/');
define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');
Ce paramètre est sélectionné par /usr/share/phpmyadmin/libraries/config.default.php
(que vous n'êtes pas censé modifier) pour définir $cfg['TempDir']
.
Dans mon cas j'ai ajouté
$cfg['TempDir'] = '/usr/share/phpmyadmin/temp';
au
config.inc.php Fichier dans le dossier phpmyadmin
J'espère que ça va aider quelqu'un
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
puis
mettez à jour votre fichier config.inc.php ajoutez cette ligne
$cfg['TempDir'] = 'tmp';
Créez un dossier tmp
dans le répertoire de base de l'installation de phpMyAdmin (par exemple, /usr/share/phpmyadmin/tmp
) et assurez-vous qu'il est accessible en écriture à l'utilisateur sous lequel PHP s'exécute.
Dans mon cas [MacOs El Capitán/portugais], le message était le suivant:
The $cfg['TempDir'] (./temp/) is not accessible
Ma solution, dans xamppfiles/phpmyadmin/config.inc.php:
$cfg['TempDir'] = './temp/'; to $cfg['TempDir'] = '../temp/';
C’est-à-dire que j’ai juste ajouté un point au sentier… le travail va bien.
Créez un répertoire temporaire appartenant à l'utilisateur du serveur Web et limité à celui-ci. Do not placez-le à l'intérieur de la racine Web phpMyAdmin. (Dans cet exemple, le serveur Web s'exécute en tant que Apache
):
mkdir -p /var/tmp/phpMyAdmin
chown Apache:apache /var/tmp/phpMyAdmin
chmod 700 /var/tmp/phpMyAdmin
Ensuite, définissez TempDir
à l'intérieur du config.inc.php
de phpMyAdmin:
$cfg['TempDir'] = '/var/tmp/phpMyAdmin';
Toute réponse suggérant que vous créez /usr/share/phpmyadmin/tmp
prône une mauvaise pratique de sécurité. Ceci est généralement vrai pour les répertoires temporaires, et explicitement indiqué dans la documentation officielle de phpMyAdmin :
Pour des raisons de sécurité, tous les répertoires doivent être en dehors de l'arborescence publié par serveur web.
J'ai eu un problème similaire, avec le répertoire "temp". La solution consistait à changer le propriétaire et le groupe du répertoire "twig" (à l'intérieur de "temp") en "Apache" (le propriétaire et le groupe)
eh bien, dans mon cas, cette erreur s’est produite lorsque j’utilisais Ubuntu 18.04 . Tout ce dont vous avez besoin est d’accéder au répertoire d’installation (sous ubuntu - opt/lampp/phpmyadmin). autorisations de lecture/écriture appropriées.
Suivez ces étapes en cas d'ubuntu-
1. Allez au répertoire d’installation de PMA en tapant les commandes suivantes dans cmd-
cd opt/lampp/phpmyadmin
2.Alors tapez la commande suivante
Sudo mkdir tmp && chmod 777 tmp
et puis vous avez terminé ... !! J'espère que cela vous aidera ...
Depuis la documentation phpMyAdmin:
$cfg['TempDir']
Type: string
Default value: './tmp/'
Le nom du répertoire où les fichiers temporaires peuvent être stockés . Il est utilisé à plusieurs fins, actuellement:
Les templates cachent ce qui accélère le chargement de la page . Importation de fichiers de forme ESRI, voir 6.30 Importation: comment importer des fichiers de forme ESRI?.
Pour contourner les limitations d’open_basedir pour les fichiers téléchargés, voir 1.11. Je reçois une «restriction open_basedir» lors du téléchargement d’un fichier à partir de l’onglet Importation.
Ce répertoire doit avoir des autorisations aussi strictes que possible car le seul utilisateur requis pour accéder à ce répertoire est celui qui exécute le serveur Web. Si vous avez des privilèges root, il suffit de rendre cet utilisateur propriétaire de ce répertoire et de le rendre accessible uniquement par lui:
chown www-data:www-data tmp
chmod 700 tmp
Si vous ne pouvez pas changer le propriétaire du répertoire, vous pouvez effectuer une configuration similaire à l'aide de ACL:
chmod 700 tmp
setfacl -m "g:www-data:rwx" tmp
setfacl -d -m "g:www-data:rwx" tmp
Si aucune des solutions ci-dessus ne fonctionne pour vous, vous pouvez toujours créer le répertoire chmod 777, mais cela pourrait imposer aux autres utilisateurs le risque que le système lise et écrit des données dans ce répertoire.
1) créer le dossier tmp
mkdir /usr/share/phpmyadmin/tmp
2) trouvez votre utilisateur php
<?php echo `whoami`; ?>
3) Changez la propriété du dossier tmp en utilisateur php trouvé à l'étape 2
Sudo chown -R step2phpuser:step2phpuser /usr/share/phpmyadmin/tmp
4) Déconnexion de phpmyadmin et reconnectez-vous
il suffit d'aller dans le dossier phpmyadmin et de mettre ce code
$ cfg ['TempDir'] = './tmp/';
puis vérifiez que le dossier tmp existe ou non dans phpmyadmin s'il n'existe pas, puis créez un dossier tmp et accordez-lui les droits de lecture et d'accès.
Je viens de changer mon fichier vendor_config.php
en define('TEMP_DIR', '/tmp/');
au lieu de define('TEMP_DIR', './tmp/');
Cela semble fonctionner.
J'ai eu le même message d'erreur. J'utilise Ubuntu16.04 avec lampp. Vous devriez aller dans le répertoire 'phpmyadmin', dans mon cas '/ opt/lampp/phpmyadmin /', créez un nouveau dossier 'tmp'. Ouvrez une fenêtre de terminal et:
cd YOUR_PATH_TO_PHPMYADMIN
Sudo mkdir tmp
Maintenant, vous devez changer le groupe du dossier 'tmp' pour donner accès à l'utilisateur php. Pour le trouver, vous pouvez créer un fichier php dans votre répertoire localhost, dans mon cas 'htdocs'
Sudo touch user.php
Sudo nano user.php
Dans l'éditeur nano, tapez:
<?php echo `whoami`; ?>
Appuyez ensuite sur CTRL + O et CTRL + X pour enregistrer et quitter . Ouvrez le navigateur et tapez votre barre d'adresse.
localhost/user.php
Il montre votre utilisateur php.
Après cela, allez au terminal et accédez au répertoire 'tmp' récemment créé dans le répertoire phpmyadmin et tapez:
Sudo chgrp YOUR_PHP_USER tmp -R
Et changez l’autorisation dans le répertoire 'tmp':
Sudo chmod 775 tmp -R
Je recommande de ne jamais donner l'autorisation 777 à aucun fichier.
J'espère que ça aide!
Ma réponse va à centos 7 utilisateurs de Sentora, tmp le dossier doit être créé sous phpMyadmin de Sentora comme indiqué ci-dessous
cd /etc/sentora/panel/etc/apps/phpmyadmin/
Sudo mkdir tmp
Après avoir créé le dossier, assurez-vous de donner les autorisations d’accès à Apache pour le dossier tmp.
chown -R Apache /etc/sentora/panel/etc/apps/phpmyadmin/tmp/