gpt4 book ai didi

php - 存储数据库 (PDO) 连接

转载 作者:行者123 更新时间:2023-12-04 18:21:12 25 4
gpt4 key购买 nike

我目前正在编写一个 PHP 应用程序,我注意到我的页面加载速度有点慢。我大约需要 2 秒(准确地说是 2.0515811443329)。

我已经找到了瓶颈是什么,这是我创建与 MySQL 数据库的 PDO 连接的部分。

我的 'connect()' 方法没有做任何奇异的事情。它看起来像这样:

public function connect ( $database, $host, $username, $password )
{
try
{
$this->db = new \PDO("mysql:dbname=".$database.";host=".$host, $username, $password);
if ( !$this->db )
{
throw new \Exception('Failed to connect to the database!');
}

$this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
}
catch ( \Exception $e )
{
echo '<strong>Exception: </strong>'.$e->getMessage();
return false;
}

return true;
}

因此,当我注释掉对“connect()”方法的调用时,我的页面会加载:0.035506010055542

这是一个巨大的差异。我可以想象创建与数据库的连接确实需要一些时间,但需要超过 1.5 秒......我不确定这是否正常?

如果它是正常的,它占用了这么多时间,那么有没有办法存储数据库连接?就像把它放在一个 session 中?实际上,据我所知,将其存储在 session 中是不可能的。但这将是理想的解决方案。将连接存储在某处,直到用户关闭他的浏览器。

无论如何,我的 PDO/MySQL 有问题吗?我可以以某种方式简单地存储连接资源吗?这样我就不必每次为每个新页面都重新连接到我的数据库?

PS。我在本地主机(Windows)上做这一切。

最佳答案

您可能正在使用“localhost”作为地址进行连接。尝试将其更改为“127.0.0.1”。那应该可以解决问题。

关于php - 存储数据库 (PDO) 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com