我正在研究一个中等规模(可能)PHP系统,该系统的MySQL连接在不同文件中的任意位置打开,并作为全局变量供后来包含的脚本访问。由于我创建了另一个模块,我想避免使用全局变量,并为每个页面请求保留相同的mysql连接。我目前的解决方案是这样的:将mysql连接设置为静态是一个好主意吗?
Class Db {
static public $dbConnectionArray = array();
}
对于每个请求,连接将被保存在静态数组中,并在稍后时间返回。你认为会出现什么问题?为什么?
想听听你对如何最好地解决一些这方面的意见,我希望减少每个脚本运行打开的连接数(目前,一个页面请求调用约6-15 MySQL连接到至少3个不同的数据库) 。
如果你创建一个类来处理你所有的数据库交互,那么你将不必担心这个 – Ibu
为什么你有超过1个连接到单个数据库? – prodigitalson
@prodigitalson:我还没有深入研究这个过程,但我怀疑全局连接会在脚本运行中重新初始化。当我剖析代码时,我发现mysql_connect()被多次调用,涉及包括另一个.php文件的某些函数调用,等等...... – fred