2

我想使用 mod_dbd 为我的 php 应用程序实现连接池。我能够为 apache 定义 mod_dbd 模块,并且可以看到它正在打开的连接,但我无法用我的 php 代码“连接”这些连接。我正在尝试带参数的 mysql_connect 和不带参数的 mysql_pconnect。

欢迎任何建议,

爱丽儿

4

2 回答 2

1

为了从 mod_dbd 的连接池功能中受益,您需要运行线程 MPM,以便多个线程可以共享池中的连接。不幸的是,我确实相信 PHP 不是线程安全的,并且不支持线程 MPM。

如果你将 mod_dbd 与 pre-fork MPM 一起使用(它不是线程化的,建议用于 PHP),mod_dbd 将创建一个单一的持久数据库连接,与 PHP 中不使用 mod_dbd 的数据库连接相比,它不会给你带来任何巨大的优势。

于 2011-03-30T15:34:07.233 回答
0

http://bugs.php.net/bug.php?id=51865&edit=1

应该将其实现为 mysqlnd 之类的扩展,允许其他人从抽象代码继承。PECL 中很可能会出现这样的事情,但对于核心 PHP,我们中的任何人都不太可能会致力于它。

此外,您必须记住,它需要进行大量更改才能在 Apache 下允许连接池,同时允许扩展使用另一个非 Apache 的网络服务器,如 IIS 来使用。否则扩展会变得太有限。

只是引用我在谷歌上搜索的内容

于 2010-09-21T18:00:31.923 回答