首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phpMyAdmin从Ubuntu16.04升级到18.04后无法工作

phpMyAdmin从Ubuntu16.04升级到18.04后无法工作
EN

Server Fault用户
提问于 2018-08-27 18:48:34
回答 1查看 3.3K关注 0票数 1

我有一个带有MySQL、Apache2和phpMyAdmin的Ubuntu服务器。今天我从Ubuntu16.04升级到18.04。现在我有了一个问题,phpMyAdmin显示的只是一个空白的没有任何内容的白色网页。

我在apache错误日志中找到了这些条目(由我编辑的客户端和引用程序):

代码语言:javascript
复制
[Mon Aug 27 20:10:00.558433 2018] [php7:warn] [pid 17925] [client ] PHP Warning:  is_dir(): open_basedir restriction in effect. File(/usr/share/php/php-php-gettext/) is not within the allowed path(s): (/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/) in /usr/share/phpmyadmin/libraries/vendor_config.php on line 64, referer: 
[Mon Aug 27 20:10:00.560176 2018] [php7:warn] [pid 17925] [client ] PHP Warning:  require_once(): open_basedir restriction in effect. File(/usr/share/php/php-php-gettext/gettext.inc) is not within the allowed path(s): (/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/) in /usr/share/phpmyadmin/libraries/common.inc.php on line 77, referer: 
[Mon Aug 27 20:10:00.561106 2018] [php7:warn] [pid 17925] [client ] PHP Warning:  require_once(/usr/share/php/php-php-gettext/gettext.inc): failed to open stream: Operation not permitted in /usr/share/phpmyadmin/libraries/common.inc.php on line 77, referer: 
[Mon Aug 27 20:10:00.561554 2018] [php7:error] [pid 17925] [client ] PHP Fatal error:  require_once(): Failed opening required '/usr/share/php/php-gettext/gettext.inc' (include_path='.') in /usr/share/phpmyadmin/libraries/common.inc.php on line 77, referer: 

这些日志行指的是这些资源:

  • /usr/share/phpmyadmin/libraries/vendor_config.php on line 64
  • /usr/share/phpmyadmin/libraries/common.inc.php on line 77

但这些文件我从来没有手动修改过。所以我现在不敢改变它们。

这是vendor_config.php,第60至68行(第64行以“if”开头):

代码语言:javascript
复制
/**
 * 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-gettext/gettext.inc');
}

两个目录,

  • /usr/share/php/php-gettext/
  • /usr/share/php/php-php-gettext/

确实存在。他们的所有者是root:root,权限都是: 755

包含指向php-php-gettext中的3个文件的3个符号链接(链接和目标具有相同的名称),它们是:

  • gettext.inc
  • gettext.php
  • streams.php

所有文件都属于root:root。符号链接的权限: 777。php-php-gettext中文件的权限为: 644。

这是common.inc.php,第74至77行:

代码语言:javascript
复制
/**
 * Load gettext functions.
 */
require_once GETTEXT_INC;

这里怎么了?

更重要的是:我必须做些什么来纠正它?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2018-08-27 19:13:29

看起来,随着升级,PHP目录的位置发生了变化,您正在使用open_basedir来限制从哪个目录加载PHP文件。

要解决这个问题,请更新open_basedir设置中的php.ini (或者可能在D2的配置中),以包含新路径。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/928197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档