php的项目作完以后,通常都是预留出来配置文件,咱们要作安装程序就是来操做这个配置文件,若是用到了数据库,就还要操做数据库,下面就说一下带有数据库的安装程序的写法php
1,检测目录和文件的权限:一直使用win的同窗可能不注意这一点,由于在win上,目录的权限是比较模糊的,可是在Linux上,文件的权限是很重要的,因此在开发过程当中,要记录好你项目中那些目录和文件是须要有写入权限的,哪些是要有可执行权限等等。而那些不须要写入权限的,最好就不要让他有写入权限,这样才会更安全。你能够用php的函数,判断一下你指定的文件或目录是否具备相应的权限,若是没有,给出提示让他从ftp或其余方式修改,或者是你用php的chmod()函数,将指定的文件修改成指定的权限。好比,你的程序若是有生成静态文件,或生成备份文件的。就要有写入权限。这个时候,通常状况下安装程序都是写在一个叫作install的目录下,必定要注意里面程序的路径问题,这里就要你们研究下了。html
2,修改配置文件:通常这个配置文件就是数据库的配置文件,固然有的时候也有一些你的程序的必要的配置文件,好比你有定义一个全局变量的值,须要在安装的时候就指定好,那就要在这里让安装者填写,这些须要的配置变量填写完,必定要进行验证是否正确填写,是否能配置成功,好比数据库的,就连接一下数据库,看可否正确连接,当所有验证经过,咱们能够经过正则等,将配置文件修改成他填写好的对应的值。mysql
3,导入数据库:数据库导入有不少方法了,有的人习惯与用一些phpmyadmin的程序等,但有的状况下使用者可能只有一个帐号而已,因此要写个数据库导入程序,这个程序其实很简单,咱们能够讲咱们的数据库清空一下能够清空的数据表,而后转存为sql文件,或者其余的文件(php文件,固然相应的导入程序要对应的来写了,这里以MySQL导出的sql文件这样的最简单为例),而后咱们读取这个sql文件,执行里面的sql语句便可(可能有的时候要过滤一下里面的其余的东西,注释等),固然也能够写成其余的数据库导入程序,好比如今大部分导入程序为其专门写一个导入程序,都是能够的。linux
可是有的安装程序可能相对复杂,有了其余的要求,好比这个导医系统,我就作了两个安装程序工用户选中,一个是初始安装,就是第一次用的,一个是原来有一个.net写的导医系统,我就是把这个.net的改版了,并升级了一下。这样有的状况下,就要保留原有的.net数据转移到这个程序上,因此就要增长转入程序。sql
最近本博编写了一些源码,有夏日CMS文章管理系统、夏日PHP留言本、夏日PHP增删改查程序、夏日PHP投票系统等,这些都是为方便 PHP 新手朋友学习使用的,因此直接导出了 mysql 数据库,将其放在了根目录下,其实这样给初学者的体验度并非很好,有许多 PHP 新手朋友都不知道如何进行导入 mysql 数据库,不得已,后来专门写了一篇关于“如何利用工具导入mysql数据库”的文章。数据库
若是咱们使用过织梦等开源的PHP程序,就会感受下载下来的源码使用很简单,由于有一个安装源码文件,经过这个源码,自动进行mysql数据库的导入和程序的配置安装,即便不懂PHP程序,安装使用起来也很简单,对于学习PHP来讲,这是一个颇有必要了解的一个功能,以前本博写过一个简单的安装程序,这里简要讲一下PHP安装程序的原理。小程序
下载下来的PHP源码,一般在根目录下会有一个 install.php 的文件,这个就是 PHP 源码的安装文件了,若是要安装 PHP 源码,一般都是经过“您的网址/install.php”路径进行安装,在安装过程当中,会要求填写 mysql 用户名和密码等,按照要求填写正确便可以安装成功。安全
其实咱们能够在 install.php 的安装面板中能够了解到 PHP 程序安装的原理,经过 install.php 的文件,会要求咱们填写 主机地址,mysql 用户名,mysql 密码,mysql 数据库,基本上都是这些,至于更复杂的,可能会要求一些可写文件什么的,咱们先看一下最简单的原理,知道了在安装时要求填写的这些基本信息,那就不难想到,这些无非就是 要生成一个配置 config.php 相似的文件,经过这个 config.php 配置文件,就能够链接 mysql 数据库,而后经过 PHP SQL 语句将其 填写的 mysql 表新建出来,这个最简单的 install.php 安装小程序就制做出来了。函数
下面看一个 install.php 安装文件的简单制做源码:工具
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
<head>
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=utf-8"
/>
<title>php安装小程序</title>
</head>
<body>
<?php
if
(
$_GET
[
'action'
]!=1)
{
?>
<form action=
"install.php?action=1"
method=
"post"
>
主机地址:<input type=
"text"
name=
"host"
value=
"localhost"
><br>
用户名:<input type=
"text"
name=
"user"
value=
"root"
><br>
密码:<input type=
"password"
name=
"psw"
value=
""
><br>
新建表名<input type=
"text"
name=
"db"
value=
"blog"
><br>
提交<input type=
"submit"
name=
"sub"
value=
"提交"
/>
</form>
<?php
}
else
{
$lockfile
=
"install.lock"
;
if
(
$_POST
[
'host'
]!=
""
&&
$_POST
[
'user'
]!=
""
&&
$_POST
['ps
w
']!="" && $_POST['
db']!=
""
)
{
$host
=
$_POST
[
'host'
];
$user
=
$_POST
[
'user'
];
$psw
=
$_POST
[
'psw'
];
$db
=
$_POST
[
'db'
];
}
if
(
file_exists
(
$lockfile
)){
exit
(
"已经安装过了,若是要从新安装请先删除install.lock"
);
}
$conn
=mysql_connect(
$host
,
$user
,
$psw
);
if
(
$conn
)
{
$sql_drop_db
=
"Drop DATABASE IF EXISTS `"
.
$db
.
"`"
;
$sql_create_db
=
"Create DATABASE `"
.
$db
.
"`"
;
$sql_create_table_blog
="Create TABLE `blog`.`blog` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT ,
`con` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_gener
al_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM";
}
mysql_query(
$sql_drop_db
,
$conn
);
mysql_query(
$sql_create_db
,
$conn
);
mysql_query(
$sql_create_table_blog
,
$conn
);
$config_file
=
"config.php"
;
$config_strings
=
"<?php\n"
;
$config_strings
.=
"\$host=\""
.
$host
.
"\";\n"
;
$config_strings
.=
"\$user=\""
.
$user
.
"\";\n"
;
$config_strings
.=
"\$psw=\""
.
$psw
.
"\";\n"
;
$config_strings
.=
"\$db=\""
.
$db
.
"\";\n"
;
$config_strings
.=
"\$conn=mysql_connect(\$host,\$user,\$psw);\n"
;
$config_strings
.=
"mysql_select_db(\$db,\$conn);\n"
;
$config_strings
.=
"?>"
;
$fp
=
fopen
(
$config_file
,
"wb"
);
fwrite(
$fp
,
$config_strings
);
fclose(
$fp
);
$fp2
=
fopen
(
$lockfile
,
'w'
);
fwrite(
$fp2
,
'1212'
);
fclose(
$fp2
);
}
?>
</body>
</html>
|
小说明:对于一些大型的PHP源码,最核心的原理基本上也是这些了,对于 PHP 初学者来讲,不必去了解那么复杂的PHP安装程序,先把 PHP 源码的简单安装文件制做掌握了,那些复杂的就不难了,经过运行上面的程序,会自动生成 PHP 的配置文件 config.php ,这是与 mysql 数据库通讯的文件,还会生成一个 install.lock 文件,这是判断是否已经成功安装的文件,还会在 mysql 数据库当中新建一个你手动填加的 mysql 数据库。。
php的项目作完以后,通常都是预留出来配置文件,咱们要作安装程序就是来操做这个配置文件,若是用到了数据库,就还要操做数据库,下面就说一下带有数据库的安装程序的写法
1,检测目录和文件的权限:一直使用win的同窗可能不注意这一点,由于在win上,目录的权限是比较模糊的,可是在Linux上,文件的权限是很重要的,因此在开发过程当中,要记录好你项目中那些目录和文件是须要有写入权限的,哪些是要有可执行权限等等。而那些不须要写入权限的,最好就不要让他有写入权限,这样才会更安全。你能够用php的函数,判断一下你指定的文件或目录是否具备相应的权限,若是没有,给出提示让他从ftp或其余方式修改,或者是你用php的chmod()函数,将指定的文件修改成指定的权限。好比,你的程序若是有生成静态文件,或生成备份文件的。就要有写入权限。这个时候,通常状况下安装程序都是写在一个叫作install的目录下,必定要注意里面程序的路径问题,这里就要你们研究下了。
2,修改配置文件:通常这个配置文件就是数据库的配置文件,固然有的时候也有一些你的程序的必要的配置文件,好比你有定义一个全局变量的值,须要在安装的时候就指定好,那就要在这里让安装者填写,这些须要的配置变量填写完,必定要进行验证是否正确填写,是否能配置成功,好比数据库的,就连接一下数据库,看可否正确连接,当所有验证经过,咱们能够经过正则等,将配置文件修改成他填写好的对应的值。
3,导入数据库:数据库导入有不少方法了,有的人习惯与用一些phpmyadmin的程序等,但有的状况下使用者可能只有一个帐号而已,因此要写个数据库导入程序,这个程序其实很简单,咱们能够讲咱们的数据库清空一下能够清空的数据表,而后转存为sql文件,或者其余的文件(php文件,固然相应的导入程序要对应的来写了,这里以MySQL导出的sql文件这样的最简单为例),而后咱们读取这个sql文件,执行里面的sql语句便可(可能有的时候要过滤一下里面的其余的东西,注释等),固然也能够写成其余的数据库导入程序,好比如今大部分导入程序为其专门写一个导入程序,都是能够的。
可是有的安装程序可能相对复杂,有了其余的要求,好比这个导医系统,我就作了两个安装程序工用户选中,一个是初始安装,就是第一次用的,一个是原来有一个.net写的导医系统,我就是把这个.net的改版了,并升级了一下。这样有的状况下,就要保留原有的.net数据转移到这个程序上,因此就要增长转入程序。
最近本博编写了一些源码,有夏日CMS文章管理系统、夏日PHP留言本、夏日PHP增删改查程序、夏日PHP投票系统等,这些都是为方便 PHP 新手朋友学习使用的,因此直接导出了 mysql 数据库,将其放在了根目录下,其实这样给初学者的体验度并非很好,有许多 PHP 新手朋友都不知道如何进行导入 mysql 数据库,不得已,后来专门写了一篇关于“如何利用工具导入mysql数据库”的文章。
若是咱们使用过织梦等开源的PHP程序,就会感受下载下来的源码使用很简单,由于有一个安装源码文件,经过这个源码,自动进行mysql数据库的导入和程序的配置安装,即便不懂PHP程序,安装使用起来也很简单,对于学习PHP来讲,这是一个颇有必要了解的一个功能,以前本博写过一个简单的安装程序,这里简要讲一下PHP安装程序的原理。
下载下来的PHP源码,一般在根目录下会有一个 install.php 的文件,这个就是 PHP 源码的安装文件了,若是要安装 PHP 源码,一般都是经过“您的网址/install.php”路径进行安装,在安装过程当中,会要求填写 mysql 用户名和密码等,按照要求填写正确便可以安装成功。
其实咱们能够在 install.php 的安装面板中能够了解到 PHP 程序安装的原理,经过 install.php 的文件,会要求咱们填写 主机地址,mysql 用户名,mysql 密码,mysql 数据库,基本上都是这些,至于更复杂的,可能会要求一些可写文件什么的,咱们先看一下最简单的原理,知道了在安装时要求填写的这些基本信息,那就不难想到,这些无非就是 要生成一个配置 config.php 相似的文件,经过这个 config.php 配置文件,就能够链接 mysql 数据库,而后经过 PHP SQL 语句将其 填写的 mysql 表新建出来,这个最简单的 install.php 安装小程序就制做出来了。
下面看一个 install.php 安装文件的简单制做源码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
<head>
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=utf-8"
/>
<title>php安装小程序</title>
</head>
<body>
<?php
if
(
$_GET
[
'action'
]!=1)
{
?>
<form action=
"install.php?action=1"
method=
"post"
>
主机地址:<input type=
"text"
name=
"host"
value=
"localhost"
><br>
用户名:<input type=
"text"
name=
"user"
value=
"root"
><br>
密码:<input type=
"password"
name=
"psw"
value=
""
><br>
新建表名<input type=
"text"
name=
"db"
value=
"blog"
><br>
提交<input type=
"submit"
name=
"sub"
value=
"提交"
/>
</form>
<?php
}
else
{
$lockfile
=
"install.lock"
;
if
(
$_POST
[
'host'
]!=
""
&&
$_POST
[
'user'
]!=
""
&&
$_POST
['ps
w
']!="" && $_POST['
db']!=
""
)
{
$host
=
$_POST
[
'host'
];
$user
=
$_POST
[
'user'
];
$psw
=
$_POST
[
'psw'
];
$db
=
$_POST
[
'db'
];
}
if
(
file_exists
(
$lockfile
)){
exit
(
"已经安装过了,若是要从新安装请先删除install.lock"
);
}
$conn
=mysql_connect(
$host
,
$user
,
$psw
);
if
(
$conn
)
{
$sql_drop_db
=
"Drop DATABASE IF EXISTS `"
.
$db
.
"`"
;
$sql_create_db
=
"Create DATABASE `"
.
$db
.
"`"
;
$sql_create_table_blog
="Create TABLE `blog`.`blog` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT ,
`con` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_gener
al_ci NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM";
}
mysql_query(
$sql_drop_db
,
$conn
);
mysql_query(
$sql_create_db
,
$conn
);
mysql_query(
$sql_create_table_blog
,
$conn
);
$config_file
=
"config.php"
;
$config_strings
=
"<?php\n"
;
$config_strings
.=
"\$host=\""
.
$host
.
"\";\n"
;
$config_strings
.=
"\$user=\""
.
$user
.
"\";\n"
;
$config_strings
.=
"\$psw=\""
.
$psw
.
"\";\n"
;
$config_strings
.=
"\$db=\""
.
$db
.
"\";\n"
;
$config_strings
.=
"\$conn=mysql_connect(\$host,\$user,\$psw);\n"
;
$config_strings
.=
"mysql_select_db(\$db,\$conn);\n"
;
$config_strings
.=
"?>"
;
$fp
=
fopen
(
$config_file
,
"wb"
);
fwrite(
$fp
,
$config_strings
);
fclose(
$fp
);
$fp2
=
fopen
(
$lockfile
,
'w'
);
fwrite(
$fp2
,
'1212'
);
fclose(
$fp2
);
}
?>
</body>
</html>
|
小说明:对于一些大型的PHP源码,最核心的原理基本上也是这些了,对于 PHP 初学者来讲,不必去了解那么复杂的PHP安装程序,先把 PHP 源码的简单安装文件制做掌握了,那些复杂的就不难了,经过运行上面的程序,会自动生成 PHP 的配置文件 config.php ,这是与 mysql 数据库通讯的文件,还会生成一个 install.lock 文件,这是判断是否已经成功安装的文件,还会在 mysql 数据库当中新建一个你手动填加的 mysql 数据库。。