在 php 中mysql_connect() 与 mysql_pconnect() 都 是建立与mysql数据库建立连接的函数,但是两者还是有小许的差别。
简单的来说MySQL_pconnect是用来在php与MySQL间建立一条持续连接, 一般php的执行模式是脚本开始执行时初始化所有资源, 脚本运行结束后释放所有资源 而MySQL_pconnect的方式则不这样, MySQL_connect每次都是重新通过tcp 或者unix domian socket跟sql服务器建立关系, 每次握手都是要消耗不少服务器资源的
使用pconnect时, 有请求连接MySQL时, php会检查是否之前有条相同的连接(以相同的用户名密码连接到同一个MySQL服务器)已经建立, 如果有的话就直接使用这条连接, 值得注意的是这个相同的连接的概念是对进程来说的, 不同的进程call MySQL_pconnect建立会建立起多条连接
connect与pconnect不会带来功能的差异, 只有性能上的差别
一般php有俩种运行模式, 一是作为cgi运行, 二是作为apache的模块运行 作为cgi的时候connect跟pconnect没什么不同, 因为每次cgi进行运行结束后都会被销毁清理掉资源
php作为apache模块方式运行时, 可以使用到数据库持续连接, 但可能会存在潜在的问题, 这也是哥哥回答的一点
假设MySQL服务器被配置为最大支持10个并发 而apache被配置为使用100个子进程
apache由一个父进程来协调将收到的>
以上就是关于PHP程序链接数据库失败全部的内容,包括:PHP程序链接数据库失败、arcgis10.3挂接表格出现连接到数据库失败 常规功能故障 外部数据库驱动程序意外错误 怎解决、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)