更新到v4.8.0后phpmyadmin出错:$cfg['tempdir'](./tmp/)不可访问

yizd12fk  于 2021-06-21  发布在  Mysql
关注(0)|答案(19)|浏览(618)

phpMyAdmin 在v4.7.9中运行良好。今天更新到v4.8.0之后(替换旧版本 phpmyadmin 新文件夹)我在phpmyadmin中收到以下消息:
$cfg['tempdir'](./tmp/)不可访问。phpmyadmin无法缓存模板,因此速度会很慢。
我添加了文件夹 ./tmp/ 像这样: /usr/share/tmp phpmyadmin已打开: /usr/share/phpmyadmin 这没有改变什么。
谁知道这个错误?我能做什么?

qaxu7uf2

qaxu7uf21#

对于arch和manjaro用户:
创建文件夹 tmp/etc/webapps/phpmyadmin/ - mkdir /etc/webapps/phpmyadmin/tmp 将权限设置为777- chmod 777 /etc/webapps/phpmyadmin/tmp 将此行添加到 /etc/webapps/phpmyadmin/config.inc.php - $cfg['TempDir'] = '/tmp'; 干杯:)

20jt8wwn

20jt8wwn2#

创建一个由Web服务器用户拥有并限制其使用的临时目录。不要将其放在phpmyadmin webroot中(在本例中,Web服务器作为 apache ):

mkdir -p /var/tmp/phpMyAdmin
chown apache:apache /var/tmp/phpMyAdmin
chmod 700 /var/tmp/phpMyAdmin

下一步,设置 TempDir phpmyadmin的内部 config.inc.php :

$cfg['TempDir'] = '/var/tmp/phpMyAdmin';

有没有人建议你 /usr/share/phpmyadmin/tmp 是在鼓吹不好的安全措施。这通常适用于临时目录,并在官方phpmyadmin文档中明确说明:
出于安全原因,所有目录都应该位于webserver发布的树之外。

pgccezyw

pgccezyw3#

我有一个类似的问题,“临时”目录。解决方案是将“twig”目录(在“temp”中)的所有者和组更改为“apache”(所有者和组)

2lpgd968

2lpgd9684#

解决方案是创建一个名为 tmp 这样地: /usr/share/phpmyadmin/tmp .
还要确保运行webserver(例如apache)的用户(或组)对新创建的tmp文件夹具有写访问权限。因此,更改该用户的所有权或为所有用户添加写访问权限。后一种可能并不真正可取。

6gpjuf90

6gpjuf905#

创建 tmp phpmyadmin文件根目录中的文件夹
除此之外,您还需要提供对该文件夹的所有权限。我在windows里就是这么做的。

8ehkhllq

8ehkhllq6#

创建 tmp phpmyadmin安装的基本目录中的文件夹(例如。 /usr/share/phpmyadmin/tmp ),并确保它可由运行php的用户写入。

rm5edbpk

rm5edbpk7#

我的答案是centos7sentora用户,tmp文件夹必须在sentora的phpmyadmin下创建,如下所示
cd /etc/sentora/panel/etc/apps/phpmyadmin/ sudo mkdir tmp 创建文件夹后,请确保授予apache对tmp文件夹的访问权限 chown -R apache /etc/sentora/panel/etc/apps/phpmyadmin/tmp/

i5desfxk

i5desfxk8#

在我的例子中,这个错误是在我使用ubuntu18.04时发生的。只需转到安装目录(在ubuntu-opt/lampp/phpmyadmin中)并创建一个具有所有适当读/写权限的tmp文件夹。
对于ubuntu,请遵循以下步骤-
1.通过在cmd中键入以下命令转到pma安装目录-
cd opt/lampp/phpmyadmin
2.然后键入以下命令-
sudo mkdir tmp和chmod 777 tmp
然后你就完蛋了。。!!我希望有帮助。。

rslzwgfq

rslzwgfq9#

我收到了同样的错误信息。我在用ubuntu16.04和lampp。你应该转到“phpmyadmin”目录,在我的例子中是“/opt/lampp/phpmyadmin/”,创建一个新的“tmp”文件夹。打开终端窗口并:

cd YOUR_PATH_TO_PHPMYADMIN
sudo mkdir tmp

现在您必须更改“tmp”文件夹的组,以授予php用户访问权限。为了找到它,您可以在localhost目录中创建一个php文件,在我的例子中是“htdocs”

sudo touch user.php
sudo nano user.php

在nano编辑器中,键入:

<?php echo `whoami`; ?>

然后按ctrl+o和ctrl+x保存并退出。打开浏览器并键入地址栏

localhost/user.php

它显示了您的php用户。
之后,转到终端并导航到phpmyadmin目录中最近创建的“tmp”目录,然后键入:

sudo chgrp YOUR_PHP_USER tmp -R

并更改对“tmp”目录的权限:

sudo chmod 775 tmp -R

我建议不要对任何文件授予777权限。
希望有帮助!

yks3o0rb

yks3o0rb10#

对我来说phpmyadmin dir是在里面找到的 /opt/lampp/ 打开终端内部 /opt/lampp/phpmyadmin/ 给予 root 通过键入 sudo su 命令。
现在在同一个终端使用( mkdir -p /tmp/ )按回车键
现在, chmod 777 /tmp 内部 phpmyadmin 目录中有一个文件 config.inc.php . 用同一个终端打开它。
添加此行 $cfg['TempDir'] = /tmp; 并保存。
现在您可以开始了,只要重新加载选项卡,错误就会消失。

e4yzc0pl

e4yzc0pl11#

在ubuntu18.04上,当我用最新版本(4.8.0)替换包存储库(v4.6.6)中的phpmyadmin版本时,我也遇到了同样的问题。我不知道你是否在运行ubuntu,但也许我的回答会对你(或其他)遇到类似情况的人有所帮助。
我把新版本放在标准位置, /usr/share/phpmyadmin/ ,但是ubuntu的pma包安装将一些配置设置放在了其他地方(参见 /etc/phpmyadmin/ 以及 /var/lib/phpmyadmin/ ). 我发现这个场景 /etc/phpmyadmin/apache.conf :

php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp

并且确信目录已经创建并且拥有适当的权限。为了尽可能接近软件包安装设置,我在 /usr/share/phpmyadmin/libraries/vendor_config.php 直接指向那个文件夹:

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

此设置由 /usr/share/phpmyadmin/libraries/config.default.php (您不应该编辑)设置 $cfg['TempDir'] .

unhi4e5o

unhi4e5o12#

只需转到phpmyadmin文件夹并将此代码
$cfg['tempdir']='./tmp/';
然后在phpmyadmin中检查tmp文件夹是否存在,如果不存在,则创建tmp文件夹并授予其读取和权限。

a0zr77ik

a0zr77ik13#

简单的修复方法是在phpmyadmin目录中创建tmp目录,并将权限设置为777

mkdir tmp && chmod 777 tmp

然后
更新config.inc.php文件并添加该行

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

xvw2m8pv14#

在我的情况下,我补充说

$cfg['TempDir'] = '/usr/share/phpmyadmin/temp';


phpmyadmin文件夹中的config.inc.php文件
希望它能帮助别人

cbeh67ev

cbeh67ev15#

1) 创建tmp文件夹

mkdir /usr/share/phpmyadmin/tmp

2) 找到你的php用户

<?php echo `whoami`; ?>

3) 将tmp文件夹的所有权更改为在步骤2中找到的php用户

sudo chown -R step2phpuser:step2phpuser /usr/share/phpmyadmin/tmp

4) 注销phpmyadmin并重新登录

相关问题