phpmyadmin4系列通通加载缓慢的最终原因是最近phpmyadmin的官网经常打不开,而phpmyadmin页面会自动检查官网上的程序版本更新,所以当你进入phpmyadmin管理页面点击数据库的时候phpmyadmin一直在尝试连接官网从而把整个打开过程拖得很慢。
最终的解决办法是不让phpmyadmin检查更新,找到phpmyadmin目录下version_check.php文件,具体修改如下:
复制代码 代码如下:
if (isset($_SESSION["cache"]["version_check"])
&& time() < $_SESSION["cache"]["version_check"]["timestamp"] + 3600 * 6
) {
$save = false;
$response = $_SESSION["cache"]["version_check"]["response"];
} else {
// $save = true;
// $file = "http://www.phpmyadmin.net/home_page/version.json";
// if (ini_get("allow_url_fopen")) {
// $response = file_get_contents($file);
// } else if (function_exists("curl_init")) {
// $curl_handle = curl_init($file);
// curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
// $response = curl_exec($curl_handle);
// }
}
上面代码是通过注释掉else{......}中间这段来取消phpmyadmin连接官网version.json来检查更新
修改完后phpmyadmin马上又回到秒开了。
附:另一个网友的解决方法
复制代码 代码如下:
第一步:
# 文件名 ./libraries/Util.class.php 文件.
# 查找
return strftime($date, $timestamp);
# 替换成如下代码:
if(extension_loaded("gettext"))
return strftime($date, $timestamp);
# 中国区这样设置.
date_default_timezone_set("UTC");
return gmdate("Y-m-d H:i:s", $timestamp + 28800);
#原理: 本地化时间格式化需要gettext支持, 假如你的环境没有开启此功能, 将会返回乱码, 影响#phpmyadmin ajax的处理. 本测试在phpmyadmin 4.0.2 php 5.5.0 环境上验证通过.
# 第二步: ./version_check.php文件.
$save = true;
$file = "http://www.phpmyadmin.net/home_page/version.json";
if (ini_get("allow_url_fopen")) {
$response = file_get_contents($file);
} else if (function_exists("curl_init")) {
$curl_handle = curl_init($file);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl_handle);
}
# 将上面这些代码删除或者注释掉. 原因是官方已挂, 这检查升级花费30秒时间.
# 现在退出后, 再登录访问, 看看是不是已经秒开了?
# 大家试试吧.