0

我正在使用运行 php 5.3 和 mysql 版本 5.5.27 的 XAMPP 在我的本地计算机上进行开发。

很长一段时间以来,我注意到页面加载时间达到了 2-3 秒,但我认为当我使用远程 MySQL 数据库连接到它时,该连接的延迟会增加加载时间。

我最近开始使用在我的机器上运行的本地 mysql 服务,页面加载时间仍然在 1 秒以上。

我使用 xDebug 探查器和 WinCacheGrind 来发现该行return new PDO($dsn, $username, $password, $options);Laravel4Illuminate\Database\Connectors\Connector文件中的行平均需要 1,005 毫秒才能执行。

我的问题是:鉴于上述情况,我认为这是导致问题的 PDO;为什么以及如何修复它?

谢谢你。

4

2 回答 2

3

此行为记录在手册中:

当主机名设置为“localhost”时,通过域套接字建立与服务器的连接。如果 PDO_MYSQL 是针对 libmysqlclient 编译的,则套接字文件的位置位于 libmysqlclient 的编译位置。如果 PDO_MYSQL 是针对 mysqlnd 编译的,则可以通过 pdo_mysql.default_socket 设置设置默认套接字。

http://php.net/manual/en/ref.pdo-mysql.connection.php#refsect1-ref.pdo-mysql.connection-notes

于 2013-06-10T10:53:37.733 回答
1

我不知道为什么,但是将我的 laravel4 mysql 配置中的主机从localhost更改为127.0.0.1刚刚解决了问题。

以下作品:)

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => '127.0.0.1',
    'database'  => 'laravel4',
    'username'  => 'laravel4',
    'password'  => 'laravel4',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),

我一直假设 localhost = 127.0.0.1 ,因此上述更改应该没有任何区别。

于 2013-06-10T10:51:03.417 回答