问题似乎在于此:
但是我已经安装了 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/