你好,我在使用phpmyadmin时遇到了麻烦。它基本上是一个新安装的版本。我不知道为什么它不工作。我还没有修改任何文件。
登录时显示以下错误消息:
The configuration file now needs a secret passphrase (blowfish_secret).
The $cfg['TempDir'] (/var/lib/phpmyadmin/tmp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.
stat /var/lib/phpmyadmin/tmp
File: /var/lib/phpmyadmin/tmp
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 803h/2051d Inode: 170769 Links: 3
Access: (0777/drwxrwxrwx) Uid: ( 33/www-data) Gid: ( 33/www-data)
Access: 2020-09-07 02:26:51.239765744 +0200
Modify: 2020-06-26 03:45:53.392552054 +0200
Change: 2020-09-07 02:34:01.222889412 +0200
Birth: -
如上所述,我没有修改blowfish secret或任何其他文件ls /var/lib/phpmyadmin/
blowfish_secret.inc.php tmp
配置文件看起来也是正确的。我甚至试着稍微改变一下路径,看看它是否有任何效果,是正确的配置文件。它显示了同样的错误,但使用了新的路径。sudo nano /usr/share/phpmyadmin/libraries/vendor_config.php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* File for vendor customisation, you can change here paths or some behaviour,
* which vendors such as Linux distributions might want to change.
*
* For changing this file you should know what you are doing. For this reason
* options here are not part of normal configuration.
*
* @package PhpMyAdmin
*/
if (! defined('PHPMYADMIN')) {
exit;
}
/**
* Path to vendor autoload file. Useful when you want to
* have have vendor dependencies somewhere else.
*/
define('AUTOLOAD_FILE', './autoload.php');
/**
* Directory where cache files are stored.
*/
define('TEMP_DIR', '/var/lib/phpmyadmin/tmp/');
/**
* Path to changelog file, can be gzip compressed. Useful when you want to
* have documentation somewhere else, eg. /usr/share/doc.
*/
define('CHANGELOG_FILE', '/usr/share/doc/phpmyadmin/changelog.gz');
/**
* Path to license file. Useful when you want to have documentation somewhere
* else, eg. /usr/share/doc.
*/
define('LICENSE_FILE', '/usr/share/doc/phpmyadmin/copyright');
/**
* Directory where SQL scripts to create/upgrade configuration storage reside.
*/
define('SQL_DIR', './sql/');
/**
* Directory where configuration files are stored.
* It is not used directly in code, just a convenient
* define used further in this file.
*/
define('CONFIG_DIR', '/etc/phpmyadmin/');
/**
* Filename of a configuration file.
*/
define('CONFIG_FILE', CONFIG_DIR . 'config.inc.php');
/**
* Filename of custom header file.
*/
define('CUSTOM_HEADER_FILE', CONFIG_DIR . 'config.header.inc.php');
/**
* Filename of custom footer file.
*/
define('CUSTOM_FOOTER_FILE', CONFIG_DIR . 'config.footer.inc.php');
/**
4条答案
按热度按时间kkih6yb81#
查看代码,我发现当phpmyadmin无法访问
twig
临时目录时,出现了关于tmp
目录的消息。这意味着/var/lib/phpmyadmin/tmp/
可能可以访问,但/var/lib/phpmyadmin/tmp/twig
可能不能(例如,权限错误或丢失)。也可能是
twig
临时目录不在/var/lib/phpmyadmin/tmp/
下,因为要访问它,它们用途:$this->config->getTempDir('twig')
,但要报告有关tmp
目录路径的错误,请用途:$this->config->get('TempDir')
.见下图:
**TLDR:**此消息可能具有误导性。您应该检查分支缓存目录是否可访问(所有权/权限)。
khbbv19g2#
请检查目录/var/lib/phpmyadmin的权限。tmp的权限似乎是正确的。
文件名:/var/lib
以上目录应该至少有755个权限,或者是同一用户所有权,该用户也可以使用Web服务器。
并检查是否已通过以下命令启用selinux
获得力量
oxf4rvwz3#
我在LEMP堆栈上设置PhpMyAdmin版本5.1.0时遇到了这个问题。发行版是Fedora 33,所有软件都使用默认的仓库。
我发现不同发行版的安装默认值差别很大,并且在为我的特定安排安装时遇到了一些麻烦。很大程度上,这是由于我在故障排除过程中发现的冲突信息。
我这样说是因为这个问题的真实的解决方案取决于根据您的安装设置正确的目录所有者和路径。
在我的安装中,
$PMA-DIR/config.inc.php
的工作目录存在于/var/lib/phpMyAdmin/
中。所以我在登录时收到的错误是:The $cfg['TempDir'] (/var/lib/phpMyAdmin/temp/) is not accessible. phpMyAdmin is not able to cache templates and will be slow because of this.
因此,我检查了主PMA目录的详细信息:
ls -l /var/lib/phpMyAdmin
这导致:如果我使用
httpd
作为Web服务器,这将是很好的。但是,我运行的是nginx,所以我需要分别更改所有权:chown -R nginx:nginx /var/lib/phpMyAdmin
现在,我可以看到
ls -l /var/lib/phpMyAdmin/
显示:为了确保
phpMyAdmin
和我真正讨论的是同一个目录,我编辑了我的$PMA-DIR/config.inc.php
,并将相关部分修改为如下所示:重新加载
nginx
并刷新后,错误对我来说消失了。对于您的用例,很可能是您的用户与所需的用户不同。我看到许多指南将用户列为
www-data
,但在某些情况下,用户是nobody
/apache
/httpd
。要找到正确的路径,可以运行类似
ps aux | egrep '(apache|apache2|httpd|nginx)'
的命令。结果中的第一个字段应该是正确的所有者。如上所示,使用chown
将其应用到正确的路径。如果您已经设置了配置的其余部分,但在此之后仍然出现Blowfish设置错误;那么您可能有一个单独的文件夹用于主配置,该主配置也需要更改所有权。
对我来说,这是由于Fedora安装使用
/etc/phpMyAdmin
目录作为主配置目录。它是由apache
拥有的。在将其设置为nginx
后,blowfish错误也消失了。**TL;DR:**在Fedora 33上使用LEMP(Nginx)解决,方法是:
chown -R nginx:nginx /var/lib/phpMyAdmin
个和
x1米20英寸
wgmfuz8q4#
让我们假设此消息的原因。
1.可能是文件夹路径不存在。
1.可能是文件夹存在,但phpmyadmin没有权限访问此文件
这是到目前为止我在配置phpmyadmin应用程序时遇到的问题。现在如何解决这个问题:
1.如果文件夹路径不存在,则创建这些文件夹路径。如果您使用的是Linux,请尝试
mkdir -p /var/lib/phpmyadmin/tmp/twig
1.如果你已经有了一个文件夹路径或者刚刚创建了一个文件夹,你需要设置文件权限和访问权限。
cd /var/lib
个sudo chmod -R 775 phpmyadmin/
这设置读取和写入文件权限。1.设置用户对phpmyadmin的读写权限。对于不同的web服务器和操作系统来说,这有点不同。我将分享如何在apache web服务器上修复这个问题
/etc/apache2/envvars
文件进行检查。查找APACHE_RUN_USER、APACHE_RUN_GROUP的值cd /var/lib
sudo chown -R APACHE_RUN_USER_VALUE:APACHE_RUN_GROUP_VALUE phpmyadmin/