php连接mssql

1.持久数据库连接是指当脚本结束运行时不关闭的连接。当接收到持续连接的请求时。PHP将检查是否已经有一个相同的持久连接(之前已经打开过)。如果存在,将直接使用该连接;如果不存在,则建立新的连接。所谓“相同”连接是指使用相同的用户名和密码连接到同一台主机。

2.第一种方法是使用PHP作为独立的语言解释器(CGI Wapper)。在这种情况下,使用持久连接和非持久连接没有区别——因为PHP脚本本身的执行不是持久的。

3.使用PHP作为多进程web服务器的一个模块,目前只适用于Apache。当同一个客户机第二次向服务器发出请求时,它可能会被不同的子进程处理。打开持久连接后,请求SQL服务的所有后续页面都可以重用已建立的SQL Server连接。

4.在持久连接中使用数据表锁时,如果脚本由于任何原因无法释放数据表锁,则使用同一连接的后续脚本将被永久阻塞,从而需要重新启动httpd服务或数据库服务。

5.使用事务处理时,如果脚本在事务阻塞发生之前结束,阻塞也会影响使用同一连接的下一个脚本。

6.程序使用持久连接(PDO::ATTR _持久)来访问数据库,所以一个PHP-FPM工作进程对应一个到MySQL的长连接。

请求后,PHP不会释放到MySQL的连接供下次重用,这对程序是透明的。

这可以看作是PHP-FPM维护的“数据库连接池”。

7.而不是节省MySQL资源,反而会增加数据库的负载。

PDO持久连接:

$dbh =新PDO(\’ MySQL:host = localhost;dbname=test \’,$user,$pass,array(

PDO::ATTR _ PERSISTENT = & gt;真实的

));

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

发表回复

登录后才能评论