#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