在现有(遗留)应用程序中使用PHP PDO。多个SQL连接?

在现有(遗留)应用程序中使用PHP PDO。多个SQL连接?,php,mysql,pdo,Php,Mysql,Pdo,我的任务是为现有的遗留PHP应用程序编写一系列扩展。原来的应用程序是。。。嗯。。。很糟糕。这是125K行意大利面代码,其中散落着原始SQL语句,并使用了mysql.*函数。每天我都能找到真正属于日常工作的东西。到目前为止,我的计划是尽可能地将我的新代码与遗留代码分开。对于数据库访问,我计划使用在PDO之上构建的两个非常不错的小库 但我将如何处理数据库连接?或者PHP如何在内部处理它们?我担心使用PDO时,每个页面调用都会打开到数据库的两个独立连接。一个来自legactmysql\u connec

我的任务是为现有的遗留PHP应用程序编写一系列扩展。原来的应用程序是。。。嗯。。。很糟糕。这是125K行意大利面代码,其中散落着原始SQL语句,并使用了
mysql.*
函数。每天我都能找到真正属于日常工作的东西。到目前为止,我的计划是尽可能地将我的新代码与遗留代码分开。对于数据库访问,我计划使用在PDO之上构建的两个非常不错的小库

但我将如何处理数据库连接?或者PHP如何在内部处理它们?我担心使用PDO时,每个页面调用都会打开到数据库的两个独立连接。一个来自legact
mysql\u connect()
调用,另一个来自PDO。这是真的,还是PHP只是在后台共享相同的连接?有没有办法让PDO和传统的
mysql\uquot.*
函数使用相同的数据库连接?如果我在每次页面加载时打开两个连接(注意:应用程序没有使用事务),这有关系吗

我有点犹豫不决,是否要检查那些125K行的意大利面代码,并用其他东西替换所有的
mysql.*
函数。我希望尽可能少地接触原始代码,而不是在上面伤脑筋


提前感谢您的建议。

这两个扩展无法相互通信,因此您将以两个连接结束。这将是一项非常艰巨的工作,对我来说几乎没有什么好处——只有那些站在你的立场上,不能完全转化的人。

你将有两个连接,但它不会破坏任何东西。请参见对提出相同问题的人的回答:


是的。这是真的。没什么好担心的@Dan Grossman的复制品:我不同意它是完全复制品。我还想知道我是否使用了两个连接(例如,对资源和性能的影响),或者是否应该开始在旧版应用程序中翻录和替换。我建议不要无缘无故地担心。当(如果有的话)对资源和性能有影响时,您必须分析您的应用程序。并根据分析结果对其进行重构。只有当它说2个连接是最严重的瓶颈时,才应该接触遗留代码。离你现在的目标很远,谢谢。但是,除了不破坏任何东西之外,每个页面加载两个数据库连接还有其他后果吗?除非您已经在DB服务器上平均(max_connections/2)了。