【发布时间】:2011-06-27 09:32:19
【问题描述】:
如何覆盖内置的 PHP 函数?
我想覆盖mysql_connection函数,函数应该检查连接是否已经打开,只返回那个连接或者请求一个新的连接。
我正在使用一些旧系统,每个页面上都有 1000 个连接。这会降低网站的性能,并可能导致内存使用不良。
我想以这样的方式重新处理这个,每当发出 sql 连接请求时,系统必须检查连接是否已经存在。
由于系统不是用 MVC 编写的,所以我不能在所有地方都进行更改以替换与公共对象的连接。
有人可以帮帮我吗?
【问题讨论】:
-
来自documentation:如果使用相同的参数再次调用
mysql_connect(),不会建立新的链接,而是将返回已打开链接的链接标识符。 您是否在每次调用时明确请求新链接?还是你改变参数?如果没有,则无需覆盖该函数。mysql_connect已经重用了连接。 -
您可能正在寻找
mysql_pconnect。还请记住,您可以通过各种runtime configurations 配置 mysql 允许使用的连接数量 -
您无需拥有 MVC 架构的应用程序即可使用类!请停止混淆这两件事!
-
是的,没错,但是我没有时间创建新的 DBUtility 类来将连接函数放在公共位置。
-
tip:下次你提问的时候,把这些你做不到的事情马上放到问题里。那么你就不必抱怨你得到的合理建议,因为那样他们就会从一开始就告诉你没有希望。
标签: php