自从切换到 php7 后 phpmyadmin 不再工作

自从切换到 php7 后 phpmyadmin 不再工作

问题似乎在于此:

phpmyadmin 由于缺少扩展而无法运行

但是我已经安装了 php-gettext,它仍然无法工作。日志显示以下内容:

[2016 年 11 月 11 日星期五 00:22:06.899944] [:error] [pid 19641] [client 93...:53244] PHP 警告:require_once():open_basedir 限制生效。文件(/usr/share/php/php-php-gettext/gettext.inc)不在允许的路径内:(/usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/)位于 /usr/share/phpmyadmin/libraries/common.inc.php 的第 77 行 [Fri Nov 11 00:22:06.900007 2016] [:error] [pid 19641] [client 93...:53244] PHP 警告:require_once(/usr/share/php/php-php-gettext/gettext.inc):无法打开流:操作不允许/usr/share/phpmyadmin/libraries/common.inc.php 第 77 行 [2016 年 11 月 11 日星期五 00:22:06.900027] [:error] [pid 19641] [客户端 93...:53244] PHP 致命错误:require_once():无法打开所需的‘/usr/share/php/php-gettext/gettext.inc’(include_path=‘.’)在 /usr/share/phpmyadmin/libraries/common.inc.php 第 77 行

答案1

我做了一些更新后也遇到了同样的问题。

我尝试编辑 vendor_config.php 文件,但一直抱怨,因此我撤销了更改并采取了简单的方法,只创建了一个具有预期名称的 php-gettext 链接:

cd /usr/share/php

sudo ln -s /usr/share/php/php-gettext php-php-gettext

这为我解决了这个问题。

答案2

我遇到了同样的问题并这样解决:

/usr/share/php/php-gettext由于某种原因,PHPMyAdmin 文件中的路径被重命名(或错误?)。

您必须为此更改文件:

/usr/share/phpmyadmin/libraries/vendor_config.php

修改这个块:

/**
 * Path to gettext.inc file. Useful when you want php-gettext somewhere else,
 * eg. /usr/share/php/gettext/gettext.inc.
 */
if (is_dir('/usr/share/php/php-php-gettext/')) {
    define('GETTEXT_INC', '/usr/share/php/php-php-gettext/gettext.inc');
} else {
    define('GETTEXT_INC', '/usr/share/php/php-php-gettext/gettext.inc');
}

更改为:

/**
 * Path to gettext.inc file. Useful when you want php-gettext somewhere else,
 * eg. /usr/share/php/gettext/gettext.inc.
 */
if (is_dir('/usr/share/php/php-gettext/')) {
    define('GETTEXT_INC', '/usr/share/php/php-gettext/gettext.inc');
} else {
    define('GETTEXT_INC', '/usr/share/php/php-gettext/gettext.inc');
}

并将其配置open_basedir/etc/apache2/conf-enabled/phpmyadmin.conf

php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/

或者(我没有尝试过),你可以复制或链接/usr/share/php/php-gettext//usr/share/php/php-php-gettext/

相关内容