Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP和db连接_Php - Fatal编程技术网

PHP和db连接

PHP和db连接,php,Php,当我在浏览器上加载一个php页面时,它会连接到数据库并运行一些sql。。。假设我现在跟踪一个链接,它会将我带到同一网站中的另一个页面。服务器端发生了什么?我与数据库的第一次连接是否关闭,然后再次打开?大多数情况下都是这样吗?是的,在大多数情况下,您的数据库连接将关闭并重新打开。特别是,如果每个页面都重新启动PHP解释器,那么它别无选择,只能这样做 我相信典型的例外情况(尽管我自己从未使用过)是您使用类似于mod_php.so(对于Apache)的东西,并且您安排将DB连接对象存储为用户会话状态的

当我在浏览器上加载一个php页面时,它会连接到数据库并运行一些sql。。。假设我现在跟踪一个链接,它会将我带到同一网站中的另一个页面。服务器端发生了什么?我与数据库的第一次连接是否关闭,然后再次打开?大多数情况下都是这样吗?

是的,在大多数情况下,您的数据库连接将关闭并重新打开。特别是,如果每个页面都重新启动PHP解释器,那么它别无选择,只能这样做

我相信典型的例外情况(尽管我自己从未使用过)是您使用类似于
mod_php.so
(对于Apache)的东西,并且您安排将DB连接对象存储为用户会话状态的一部分。不过,我不认为这是推荐的做法


有关更多信息,请参阅。

通常情况下是这样的。但是如果你说的是MySQL,你可以使用来保持持久的连接。

很有可能在PHP处理完页面后关闭与数据库的连接,很明显,PHP的结果会发送到浏览器并由用户查看


假设您运行的是MySQL,唯一的原因是如果PHP脚本使用,连接将保持打开状态。但是,除非MySQL服务器和PHP服务器具有其他进程未使用的低带宽连接,否则通常最好不要使用它。

这取决于PHP的开发方式。如果它被编码为在每次交易后关闭,那么是的,它将在您每次查看页面时重新打开

还有数据库连接池的概念。当一个连接被使用时,它不会被关闭,而是被放入一个等待再次使用的连接“池”中。一旦在未使用连接的情况下经过指定的时间量,就会关闭连接以节省资源

池连接节省了在每次重新加载页面时重新打开连接所需的处理时间