我在ubuntu服务器20.04上测试phpmyadmin 5.0.4和5.1.0.RC1,我得到以下错误:
Warning in ./libraries/classes/Config.php#1285
mkdir(): Permission denied
Backtrace
./libraries/classes/Config.php#1285: mkdir(
string '/usr/share/phpmyadmin//var/lib/phpmyadmin/tmp/twig',
integer 504,
boolean true,
)
./libraries/classes/Template.php#57: PhpMyAdmin\Config->getTempDir(string 'twig')
./libraries/classes/Theme.php#101: PhpMyAdmin\Template->__construct()
./libraries/classes/Theme.php#174: PhpMyAdmin\Theme->__construct()
./libraries/classes/ThemeManager.php#307: PhpMyAdmin\Theme::load(
string './themes/pmahomme',
string '/usr/share/phpmyadmin/./themes/pmahomme/',
)
./libraries/classes/ThemeManager.php#79: PhpMyAdmin\ThemeManager->loadThemes()
./libraries/classes/ThemeManager.php#121: PhpMyAdmin\ThemeManager->__construct()
./libraries/classes/ThemeManager.php#385: PhpMyAdmin\ThemeManager::getInstance()
./libraries/common.inc.php#232: PhpMyAdmin\ThemeManager::initializeTheme()
./index.php#15: require_once(./libraries/common.inc.php)
我已经尝试通过www-data(original“root”)更改我的./libraries/classes/Config.php和/var/lib/phpmyadmin/tmp/wig(创建此文件夹“wig”太)的所有者,但错误没有得到解决.
我的供应商配置是:
<?php
/**
* File for vendor customization, 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.
*/
declare(strict_types=1);
// phpcs:disable PSR1.Files.SideEffects
if (! defined('PHPMYADMIN')) {
exit;
}
// phpcs:enable
/**
* Path to vendor autoload file. Useful when you want to
* have have vendor dependencies somewhere else.
*/
define('AUTOLOAD_FILE', ROOT_PATH . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php');
/**
* Directory where cache files are stored.
*/
define('TEMP_DIR', ROOT_PATH . '/var/lib/phpmyadmin/tmp/' . DIRECTORY_SEPARATOR);
/**
* Path to changelog file, can be gzip compressed. Useful when you want to
* have documentation somewhere else, eg. /usr/share/doc.
*/
define('CHANGELOG_FILE', ROOT_PATH . 'ChangeLog');
/**
* Path to license file. Useful when you want to have documentation somewhere
* else, eg. /usr/share/doc.
*/
define('LICENSE_FILE', ROOT_PATH . 'LICENSE');
/**
* Directory where SQL scripts to create/upgrade configuration storage reside.
*/
define('SQL_DIR', ROOT_PATH . 'sql' . DIRECTORY_SEPARATOR);
/**
* 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');
/**
* Default value for check for version upgrades.
*/
define('VERSION_CHECK_DEFAULT', true);
/**
* Path to files with compiled locales (*.mo)
*/
define('LOCALE_PATH', ROOT_PATH . 'locale' . DIRECTORY_SEPARATOR);
/**
* Define the cache directory for routing cache an other cache files
*/
define('CACHE_DIR', ROOT_PATH . 'libraries' . DIRECTORY_SEPARATOR . 'cache' . DIRECTORY_SEPARATOR);
我用的是php8.0。
谢谢你的背!
5条答案
按热度按时间3mpgtkmj1#
启用模板缓存。编辑
/usr/share/webapps/phpMyAdmin/config.inc.php
以添加行:来源:https://wiki.archlinux.org/index.php/PhpMyAdmin#Enabling_template_caching
06odsfpq2#
这是对索拉布回答的补充。我必须手动创建临时目录结构,并添加一个名为“twig”的附加目录。因此,您可能需要创建:
在按照他们的指示创建了临时目录之后,一切都运行得很好。
ppcbkaq53#
有同样的问题。解决方法:
1.打开
vendor_config.php
:1.按CTRL + W搜索TEMP_DIR
1.将行更改为:
1.按CTRL + W并搜索CONFIG_DIR
1.将行更改为:
1.保存文件并退出。(按CTRL + X。按Y,然后按ENTER)
1.选择已安装的版本:https://www.phpmyadmin.net/files/
1.解压缩
/libraries/classes/Config.php
文件并将其替换为现有文件。感谢和问候。
q35jwt9p4#
如果这个问题没有解决,很可能是因为apache用户不是默认的
www-data
。安装
phpmyadmin
时,默认情况下/var/lib/phpmyadmin/tmp
由www-data
拥有。因此,如果你改变了apache的默认用户,它就不能在这个目录下写。
修复相当简单:
jum4pzuy5#
如果您使用的是VestaCP,则需要检查
/home/admin/
中phpMyAdmin的权限。如果权限在root中,请将其更改为用户权限,然后将其解析。命令: