GNU/Linux >> Znalost Linux >  >> Linux

Chyba v phpMyAdmin po aktualizaci na v4.8.0:$cfg['TempDir'] (./tmp/) není přístupný

Řešením bylo vytvořit složku s názvem tmp takto:/usr/share/phpmyadmin/tmp .

Také se ujistěte, že uživatel (nebo skupina) provozující webový server (např. Apache) má přístup pro zápis do nově vytvořené složky tmp. Následně změňte vlastnictví na tohoto uživatele nebo přidejte přístup pro zápis všem uživatelům. Ten druhý možná opravdu není vhodný.


jednoduchá oprava je vytvořit tmp dir ve vašem phpmyadmin dir a nastavit oprávnění na 777

mkdir tmp && chmod 777 tmp

pak

aktualizujte svůj soubor config.inc.php přidejte tento řádek

$cfg['TempDir'] = 'tmp';

Měl jsem stejný problém na Ubuntu 18.04, když jsem nahradil verzi phpMyAdmin z úložiště balíčků (v4.6.6) nejnovější verzí (4.8.0). Nevím, jestli používáte Ubuntu, ale možná bude moje odpověď užitečná vám (nebo ostatním), kteří se s něčím podobným setkali.

Novou verzi jsem umístil do standardního umístění /usr/share/phpmyadmin/ , ale instalace balíčku PMA v Ubuntu ukládá některá nastavení konfigurace na jiná místa (viz /etc/phpmyadmin/ a /var/lib/phpmyadmin/ ). Toto nastavení jsem našel v /etc/phpmyadmin/apache.conf :

php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp

a dostatečně si jistý, že adresář byl vytvořen a měl správná oprávnění. Abych zůstal co nejblíže nastavení instalace balíčku, provedl jsem tuto změnu v /usr/share/phpmyadmin/libraries/vendor_config.php a ukázal přímo na tuto složku:

//define('TEMP_DIR', './tmp/');
define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');

Toto nastavení přebírá /usr/share/phpmyadmin/libraries/config.default.php (které byste neměli upravovat) a nastavte $cfg['TempDir'] .


Linux
  1. Kubuntu zobrazuje chybu při přihlášení (file:///usr/share/sddm//themes/breeze/main.qml:žádný takový soubor nebo adresář)?

  2. „Nelze vytvořit adresář mezipaměti /home//.composer/cache/repo/https—packagist.org/, nebo adresář není zapisovatelný. Pokračovat bez mezipaměti“?

  3. Jak systemd-tmpfiles vyčistí /tmp/ nebo /var/tmp (náhrada tmpwatch) v CentOS / RHEL 7

  1. Jak zakázat automatické mazání souborů v adresářích /tmp a /var/tmp v CentOS / RHEL 5,6

  2. Kdy mám použít /dev/shm/ a kdy /tmp/?

  3. Jak zjistit, ze které složky běží proces?

  1. unix:///var/run/supervisor.sock žádný takový soubor

  2. Proč mají všechny adresáře /home, /usr, /var atd. stejné číslo inodu (2)?

  3. Jak změnit výchozí /tmp na /home/user/tmp