为啥 phpmyadmin 会给出 file_exists 警告?

Posted

技术标签:

【中文标题】为啥 phpmyadmin 会给出 file_exists 警告?【英文标题】:Why does phpmyadmin give a file_exists warning?为什么 phpmyadmin 会给出 file_exists 警告? 【发布时间】:2016-04-06 22:26:02 【问题描述】:

phpMyAdmin 在登录页面上给出以下警告:

./libraries/Util.class.php#521 file_exists() 中的警告:open_basedir 限制生效。文件(doc/html/index.html)不在允许的路径中:(/usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/ php-gettext/:/usr/share/javascript/)

回溯 ./libraries/Util.class.php#521: file_exists(string 'doc/html/index.html') ./libraries/Util.class.php#545: PMA_Util::getDocuLink(string 'index' , string '', ) ./libraries/plugins/auth/AuthenticationCookie.class.php#175: PMA_Util::showDocu(string 'index') ./libraries/common.inc.php#880: AuthenticationCookie->auth() ./index.php#12: require_once(./libraries/common.inc.php)

此suggests /etc/phpmyadmin/apache.conf 可能配置不正确。因此我检查了php_admin_value:

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

这看起来不错,所以我错过了什么?

【问题讨论】:

你的phpmyadmin的安装路径是什么? PHP 正在尝试检查 /doc/html/index.html 相对于您的 phpmyadmin 安装路径是否存在。所以该路径必须在 open_basedir 配置值中。 它是/usr/share/phpmyadmin/usr/share/phpmyadmin/doc/html/index.html 在那里。既然是上面指定的,那应该是吧? 【参考方案1】:

事实证明,我编辑了错误的 Apache 配置文件。而不是/etc/phpmyadmin/apache.conf,我应该编辑/etc/apache2/sites-available中的那个。

【讨论】:

以上是关于为啥 phpmyadmin 会给出 file_exists 警告?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在 phpmyadmin 中创建此表会生成 #1064 错误?

为啥 MySQL 给出错误“不允许从函数返回结果集”?

为啥 phpmyadmin 显示文件列表而不是数据库?

phpMyadmin 给出令牌不匹配的错误

为啥最新的 phpmyadmin 删除了 sql 作为导出格式?

雄辩给出错误,但查询在 phpmyadmin 中执行良好