php - PDO,注入(inject)和节省服务器资源

标签 php mysql pdo

我正在重构 PHP 代码以从 mysql_* 和 mysqli_* 函数迁移到 PDO,并且希望尽可能高效地完成此任务。

我使用一个名为“core.common.php”的文件。我初始化 PDO 数据库访问对象,具有 $_SESSION 管理功能以及其他功能,例如通用消息和错误通知函数(以 s 的形式)。我在开发和调试时广泛使用 MsgBox() 和 ErrBox() 函数。该文件包含在每个 PHP 生成的网页的顶部。

我至少通过一些测试,成功地将 PDO 对象(通过在 __construct 方法中注入(inject) PDO 对象)传递给需要数据库访问的类。

在我看来,这种方法虽然到目前为止仍然有效,但只适用于网站的每个访问者...每个访问者都可以在他们访问网站上的所有页面中使用相同的 PDO 连接器。

我真正的问题是...... 当有很多访客时会发生什么?每个都有自己的 PDO 实例吗?这是否意味着会有很多数据库连接实例?

我问的原因是我当前使用的主机“限制了我的资源使用”,因为...根据他们的说法...“资源使用过多”。它是一个“共享服务器”。他们建议升级到 VPS(虚拟专用服务器),当然需要额外付费。

主持人是不是为了更多的钱而骗我? 在专业人士看来,我解决这个问题的最佳方法是什么? 而且...绝对对所有人...要批判且具体。

非常欢迎任何想法!

最佳答案

What happens when there are many visitors ??

完全与 mysql 和 mysqli 函数发生的情况相同。

Does each get their own PDO instance ?

是的。在某种程度上。

Would this mean that there would be many instances of database connections ?

是的。就像 mysql 函数一样。

the host I currently use has "limited my resource usage" due to... according to them... "excessive resource usage".

确保每个脚本实例只有一个连接。根据你的描述,已经是这样了,但只是为了确定一下。这可能是 PDO 唯一的问题。如果使用的话,还要关闭持久连接。

关于这种过度使用的其他方面,您最好提出一个单独的问题,询问有关如何分析代码以达到瓶颈的建议。

关于php - PDO,注入(inject)和节省服务器资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32258851/

相关文章:

c# - 使用 BCrypt.Net 模拟设计密码加密?

php - PDO错误: "SQLSTATE[HY000]: General error " When updating database

php - mysqli 和 mysql 插入数据库命令

php - 使用 php 从 MySQL 数据库中检索图像

php - 无论如何要保护对 PHP 的 JavaScript 请求 - (不可能)?

php - 来自带有 PDO 的存储过程的特定错误代码(在 Zend Framework 2 中)

php - 更新数据库中表行的快捷方式?

php - 尝试访问从 JSON 数据创建的数组时未定义

mysql - 如何在phpmyadmin中添加用户

MySQL 数据以 10 分钟为间隔计数