phpmyadmin打开很慢的解决方法

yipeiwu_com7年前PHP代码库

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秒时间.

# 现在退出后, 再登录访问, 看看是不是已经秒开了?
# 大家试试吧.

相关文章

PHP中overload与override的区别

override(重写,覆盖) 1、方法名、参数、返回值相同。 2、子类方法不能缩小父类方法的访问权限。 3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。 4、存...

PHP中数据类型转换的三种方式

PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: 1.(int)、(integer):转换成整形 2.(float)、(double)、(real):转换成浮点型 3.(s...

PHP 中的面向对象编程:通向大型 PHP 工程的办法

这篇文章介绍在 PHP 的面向对象编程(OOP)。我将演示如何用面向对象的概念编出较少的代码但更好的程序。祝大家好运。     面向对象编程的概念...

PHP中如何定义和使用常量

1.自定义常量   * 必须用函数define()定义  * 定义完后其值不能再改变了  * 使用时直接用常量名,不能像变量一样在前面加$s 例如...

PHP和JAVA中的重载(overload)和覆盖(override) 介绍

重载:同一个类中,函数名一样,返回值或者参数类型,个数不一样的叫做重载。 覆盖:同名函数,同返回值类型,同参数的叫做覆盖。指的是子类对父类中方法的覆盖。 PHP不支持方法和操作符重载。J...