数据库验证的问题

#1 kao10324

程序从入口运行..数据库信息错误的话.会有连接错误信息.
我只找到程序运行到spFunctions.php文件里面的spClass函数的这行返回错误提示:return $GLOBALS['G_SP']["inst_class"][$class_name];不知道对不对..再下面是怎么运行的.

整 个流程是怎样走的?

我想像CMS一样写个install.php安装文件直接进行整站安装.以前没写过
求助

2012-07-12 22:25:27

#2 jake

其实PHP程序的所谓“安装”,最常见的就是导入SQL而已。

要做安装程序,可以按以下步骤来做:

1. 首页action做个判断(或者在全局,详见手册),如果发现 tmp目录下 install.lock 文件不存在,则转到 install 的action里面。
2. install 里面,首先检查tmp/install.lock是否存在,存在则不执行,不存在则执行(防止重复安装,DZ也是用这个方法)。
3. install 里面进行数据库操作,先将数据库的配置,如host和username等,赋值给$GLOBALS['G_SP']['db'],具体赋值方式是:
$GLOBALS['G_SP']['db'] = array(  // 数据库连接配置
        'driver' => 'mysql',   // 驱动类型
        'host' => 'localhost', // 数据库地址
        'port' => 3306,        // 端口
        'login' => 'root',     // 用户名
        'password' => '',      // 密码
        'database' => '',      // 库名称
        'prefix' => '',           // 表前缀
        'persistent' => FALSE,    // 是否使用长链接
);
然后就可以用model类了(一定先赋值给$GLOBALS['G_SP']['db'] 才能用model类)

4. model类用runSql方法执行你预先准备好的建表SQL语句
5. 表建好了,安装也就完成了,别忘了生成一个install.lock文件,如 file_put_contents(APP_PATH.'/tmp/install.lock', '   '); 这样就完成了整个安装逻辑。


2012-07-12 22:44:58

#3 jake

备注两个:

1. 你从入口文件这样改写,除非对框架非常熟悉,否则不建议这样做,因为那不是框架执行的方式。
2. 安装过程里面,除了建表,其实还可以做表单提交,复制文件、插入表数据等操作。表单提交是老样子,反正都是install过程里面就行。

2012-07-12 22:48:03

#4 神僮ぉ尛釨ぁ²

顶起:):):):):):):):):):):):)

2012-07-19 14:40:31

#5 kao10324

jake 发表于 2012-7-12 22:44
其实PHP程序的所谓“安装”,最常见的就是导入SQL而已。

要做安装程序,可以按以下步骤来做:
这样用resource函数把sql文件导入后,安装好数据库后.要再把这个
$spConfig = array(
    "db" => array(
        'host' => 'localhost',
        'login' => '*****',
        'password' => '*****',
        'database' => 'sp',
        'prefix' => 'sp_'
    ),

写入到根目录下的config.php中吗

2012-07-20 15:21:49

#6 jake

kao10324 发表于 2012-7-20 15:21
这样用resource函数把sql文件导入后,安装好数据库后.要再把这个
$spConfig = array(
    "db" => array(
不知道你说的resource函数是什么,不过把配置写一下index.php文件是可以的。或者可以写config.php文件也行。

2012-07-20 22:07:55