PDO在PHP 5.4和Apache 2.4.3上运行缓慢

时间:2012-10-30 03:58:53

标签: php apache pdo

  

可能重复:
  mysql_connect (localhost / 127.0.0.1) on Windows platform

我刚刚在开发机器上更新了我的Apache和PHP版本,并且PDO已完全废弃。

这是死的简单PDO类:

class PDO_DBH {
    public static function openSesame() {
        echo '<p>start openSesame: </p>'.microtime(true);
        $db_username = 'root';
        $db_password = 'pass';
        try {
            $dbh = new PDO('mysql:host=localhost;dbname=DB_NAME', $db_username, $db_password);
            $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
            echo '<p>end successful openSesame: </p>'.microtime(true);
            return $dbh;
        } catch (PDOException $e) {
            echo '<p>end failed openSesame: </p>'.microtime(true);
            return 'PDO database access error!';
        }
    }
}

在升级之前,当前在其他开发机器上,典型页面将加载一秒钟,最多两个。

现在,通过microtime(true)的奇迹,我看到每个连接开放需要大约一整秒。

一个典型的页面可能会创建一个新的$dbh然后$dbh = null; 20次,因为不同的对象和方法会检索他们需要的数据。这在其他机器或我的虚拟主机上从来都不是问题。

我在哪里错了?

1 个答案:

答案 0 :(得分:4)

这只是一个猜测 - 但在Windows机器上更改为127.0.0.1而不是localhost可以解决问题。