数据库链接错误 : Too many connections

107.       * @param dbConfig  数据库配置
108.       */
109.      public function __construct($dbConfig)
110.      {
111.          $linkfunction = ( TRUE == $dbConfig['persistent'] ) ? 'mysql_pconnect' 'mysql_connect';
112.          $this->conn $linkfunction($dbConfig['host'].":".$dbConfig['port'], $dbConfig['login'], $dbConfig['password']) or spError("数据库链接错误 : " mysql_error()); 
113.          mysql_select_db($dbConfig['database'], $this->conn) or spError("无法找到数据库,请确认数据库名称正确!");
114.          $this->exec("SET NAMES UTF8");
115.      }
116.      /**
117.       对特殊字符进行过滤
144.          }
145.      }
146.      if(FALSE != $has_define){
147.          $argString '';$comma ''
148.          if(null != $args)for ($i 0$i count($args); $i ++) { $argString .= $comma "\$args[$i]"$comma ', '; } 
149.          eval("\$GLOBALS['G_SP']['inst_class'][\$class_name]= new \$class_name($argString);"); 
150.          return $GLOBALS['G_SP']["inst_class"][$class_name];
151.      }
152.      header("location:404.php");
153.      //spError($class_name."类定义不存在,请检查。");
154.  }
47.      {
48.          if( null == $this->tbl_name )$this->tbl_name $GLOBALS['G_SP']['db']['prefix'] . $this->table;
49.          if( '' == $GLOBALS['G_SP']['db_driver_path'] ){
50.              $GLOBALS['G_SP']['db_driver_path'] = $GLOBALS['G_SP']['sp_drivers_path'].'/'.$GLOBALS['G_SP']['db']['driver'].'.php';
51.          }
52.          $this->_db spClass('db_'.$GLOBALS['G_SP']['db']['driver'], array(0=>$GLOBALS['G_SP']['db']), $GLOBALS['G_SP']['db_driver_path']);
53.      }
54. 
55.      /**
56.       从数据表中查找一条记录
57.       *
144.          }
145.      }
146.      if(FALSE != $has_define){
147.          $argString '';$comma ''
148.          if(null != $args)for ($i 0$i count($args); $i ++) { $argString .= $comma "\$args[$i]"$comma ', '; } 
149.          eval("\$GLOBALS['G_SP']['inst_class'][\$class_name]= new \$class_name($argString);"); 
150.          return $GLOBALS['G_SP']["inst_class"][$class_name];
151.      }
152.      header("location:404.php");
153.      //spError($class_name."类定义不存在,请检查。");
154.  }
73.      {
74.          GLOBAL $__controller$__action;
75.          $checker $this->checker$name $this->get();
76. 
77.          if( is_array($checker) ){
78.              return spClass($checker[0])->{$checker[1]}($name$__controller$__action);
79.          }else{
80.              return call_user_func_array($checker, array($name$__controller$__action));
81.          }
82.      }
83.      /**
56.      /**
57.       有限的权限控制,适用于前台。仅在权限表声明禁止的页面起作用,其他无声明页面均可进入
58.       */
59.      public function mincheck()
60.      {
61.          $acl_handle $this->check();
62.          if( === $acl_handle ){
63.              $this->prompt();
64.              return FALSE;
65.          }
66.          return TRUE;
178.   */
179.  function spLaunch($configname$launchargs null$returns FALSE ){
180.      if( isset($GLOBALS['G_SP']['launch'][$configname]) && is_array($GLOBALS['G_SP']['launch'][$configname]) ){
181.          foreach( $GLOBALS['G_SP']['launch'][$configname] as $launch ){
182.              if( is_array($launch) ){
183.                  $reval spClass($launch[0])->{$launch[1]}($launchargs);
184.              }else{
185.                  $reval call_user_func_array($launch$launchargs);
186.              }
187.              if( TRUE == $returns )return $reval;
188.          }
7.   spRun  执行用户代码
8.   */
9.  function spRun(){
10.      GLOBAL $__controller$__action;
11.      // 对路由进行自动执行相关操作
12.      spLaunch("router_prefilter");
13.      // 对将要访问的控制器类进行实例化
14.      $handle_controller spClass($__controllernull$GLOBALS['G_SP']["controller_path"].'/'.$__controller.".php");
15.      // 调用控制器出错将调用路由错误处理函数
16.      if(!is_object($handle_controller) || !method_exists($handle_controller$__action)){
17.          eval($GLOBALS['G_SP']["dispatcher_error"]);
13.  //加载配置文件
14.  require(APP_PATH.'/data/config.php');
15.  //加载框架核心
16.  require(SP_PATH.'/SpeedPHP.php');
17.  //执行应用
18.  spRun();