【发布时间】:2011-12-12 09:40:02
【问题描述】:
背景:
我有一个由 MYSQL 驱动的自定义 CMS 网站。连接到数据库以加载网页内容的 php 脚本。
加载的每个页面都使用相同的脚本连接到数据库。
这也包括 php、js、css 文件
连接db的脚本如下:
$my_link=mysql_connect("localhost",$dbusername,$dbpassword);
@mysql_select_db($database) or databaserror();
其中一个页面有以下内容
<link href="/administrator/files/master.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="/administrator/files/cbdb-btn.css" />
<link rel="stylesheet" type="text/css" href="/administrator/files/BreadCrumb.css" />
<link rel="stylesheet" type="text/css" href="/administrator/files/prettyPhoto.css" />
<link rel="stylesheet" type="text/css" href="/administrator/files/tabs.css" />
<script src="/administrator/files/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="/administrator/files/context_menu.js"></script>
<script type="text/javascript" src="/administrator/files/jquery.spinner.js"></script>
<script type="text/javascript" src="/administrator/files/jquery.jBreadCrumb.js"></script>
<script type="text/javascript" src="/administrator/files/jquery_upload.js"></script>
<script type="text/javascript" src="/administrator/files/prettyPhoto.js"></script>
<script type="text/javascript" src="/admin/ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="/admin/ckeditor/adapters/jquery.js"></script>
所有以/administrator/files/开头的文件,包括上面信息的文件都是mysql驱动的。
以上文件有一个建立mysql db
$my_link=mysql_connect("localhost",$dbusername,$dbpassword);
然后在加载样式表时
<link href="/administrator/files/master.css" rel="stylesheet" type="text/css" />
它再次使用连接到数据库
$my_link=mysql_connect("localhost",$dbusername,$dbpassword);
它对所有 .css 和 .js 文件重复。
并非每次页面刷新都会发生这种情况,但是我在 5 次页面加载中出现 1 次收到错误消息
(12)Cannot allocate memory: couldn't create child process: /opt/suphp/sbin/suphp
我是否错误地连接到 MySQL?
如果我不包含mysql驱动的样式表或js文件没有问题,或者如果我自己加载样式表页面,没有问题。
内存设置为500mb,
当单独加载mysql驱动页面时,内存接近0mb,当加载超过1个mysql驱动页面时,内存会飙升到最大值
如果您需要更多信息,请告诉我。
谢谢
【问题讨论】:
-
您好,您只需要连接一次 mysql 数据库,之后您可以根据需要向数据库发送尽可能多的查询,但是对于每个选择查询,您不需要连接到数据库它可能会减慢服务器速度,还需要更多内存,服务器将不稳定