当我在浏览器上加载一个php页面时,它会连接到DB并运行一些sql...假设我现在点击一个链接,它将我带到同一网站中的另一个页面。在服务器方面发生了什么?我与数据库的第一次连接是否关闭,然后重新打开?这是大多数情况下发生的事情吗?
发布于 2009-11-03 02:51:35
PHP处理完页面后,很可能会关闭与数据库的连接,很明显,PHP的结果会被发送到浏览器并由用户查看。
假设您正在运行MySQL,唯一不会出现这种情况的原因是如果PHP脚本使用mysql_pconnect,其中的连接将保持打开状态。但是,最好不要使用它,除非MySQL服务器和PHP服务器有一个低带宽的连接,其他进程没有使用它。
发布于 2009-11-03 02:48:56
是的,在大多数情况下,您的数据库连接将关闭并重新打开。特别是,如果为每个页面重新启动PHP解释器,那么它别无选择,只能这样做。
我认为典型的例外情况(尽管我自己从来没有用过这个)是使用类似mod_php.so (用于Apache)的东西,并且安排一个DB连接对象作为用户会话状态的一部分进行存储。不过,我不认为这是推荐的做法。
有关详细信息,请参阅http://php.net/manual/en/features.persistent-connections.php。
发布于 2009-11-03 02:49:24
这是通常的情况,是的。但是,如果您正在谈论MySQL,您可以使用mysql_pconnect来保持持久连接。
https://stackoverflow.com/questions/1662933
复制相似问题