php安装程序制作原理

过程: 1、(之前需要有安装协议)检查环境(操作系统、php版本、数据库、附件上传、目录权限、特殊环境要求(pdo、rewrtie、gd2、短标签等)) 2、基础数据输入(数据库服务器、数据库用户名、数据库密码、数据库名、数据库表前缀、初始管理员、初始管理员密码等) 3、检查配置文件是否正确、建立初始数据库、导入初始数据 4、删除或者移动安装文件(检测安装完全)

简单例子:

<?php
 $file="../data/config.php";//配置文件
 <span style="color: #ff0000;">if(is_writable($file))</span>
 {
  echo "配置文件可写入√";
 }else{
  echo "配置文件不可写入X";
}
 if(isset($_POST[‘sub’])){
 $str="<?php";
 $str.="\n";
 $str.="\$mysql_host=’".$_POST[‘host’]."’;";
 $str.="\n";
 $str.="\$mysql_user=’".$_POST[‘user’]."’;";
 $str.="\n";
 $str.="\$mysql_pass=’".$_POST[‘pass’]."’;";
 $str.="\n";
 $str.="\$mysql_db=’".$_POST[‘database’]."’;";
 $str.="\n";
 $str.="\$mysql_pre=’".$_POST[‘pre’]."’;";
 $str.="\n";
 $str.="?>";
 <span style="color: #ff0000;">$ff=fopen($file,"w+");</span>
 fwrite($ff,$str);
 }
 ?>
<form action="" method="post">
 主&nbsp;&nbsp;&nbsp;&nbsp;机:<input name="host" type="text" /><br />
用户名:<input name="user" type="text" /><br />
密&nbsp;&nbsp;&nbsp;&nbsp;码:<input name="pass" type="text" /><br />
数据库:<input name="database" type="text" /><br />
表前缀:<input name="pre" type="text" /><br />
<input name="sub" value="提交" type="submit" />
 </form>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

05.Redis 命令

05.Redis 命令 Redis 命令 Redis 命令用于在 redis 服务上执行操作。 要在 redis 服务上执行命令需要一个 redis 客户端。R...

41660
来自专栏运维小白

克隆虚拟机的注意点

在虚拟机中的 “管理”——>克隆虚拟机 更改虚拟机的IP,配置文件为 /etc/sysconfig/network-scripts/ifcfg-ens32 中 ...

21090
来自专栏运维小白

增加网卡注意点

在虚拟机增加一个新的网卡之后,并设置为仅主机模式 开启虚拟机,用ifconfig命令,查看是否已经加载了网卡——>安装ifconfig包:yum install...

23980
来自专栏运维前线

php7下安装event扩展

php7下安装event扩展 有效安排I/O,时间和信号的扩展 使用可用于特定平台的最佳I/O通知机制的事件,是PHP基础设施的libevent端口。 ...

330100
来自专栏静下来

windows服务器iis7.5安装多个php版本切换设置

因为某个网站程序的配置是在php5.3上面运行的,不兼容我现在的php5.5.所以就只能再安装个5.3的了。 在安装过程中,忘记截图了。。。就直接写吧。 准备工...

1.2K40
来自专栏测试文章

当影响范围内Nginx默认配置文件中开启缓存

当影响范围内Nginx默认配置文件中开启缓存功能时,攻击者可以通过发送包含恶意构造 range 域的 header 请求,来获取响应中的缓存文件头部信息。在某些...

209110
来自专栏xingoo, 一个梦想做发明家的程序员

公司内网,无法使用yum在线下载,肿么办?

1 配置上网代理   编辑/etc/yum.conf,增加如下属性: proxy=你的代理地址 proxy_user=你的用户名 proxy_passwor...

342100
来自专栏编程思想之路

Android6.0之修改或者查看系统属性值

系统属性值存在于system.prop文件中,也有一些存在于settings中 1,查看settingsprovider中的值的方法 命令为adb shell ...

48350
来自专栏CaiRui

Shell中的$..

$0 这个程式的执行名字 $n 这个程式的第n个参数值,n=1..9 $* 这个程式的所有参数,此选项参数可超过9个。 $# 这个程式的参数个数 $$ 这个程式...

34990
来自专栏史上最简单的Spring Cloud教程

Openresty最佳案例 | 第6篇:OpenResty连接Mysql

centos 安装mysl Centos系统下安装mysql,先下载mysql-community-release-el7-5.noarch.rpm,然后通过y...

44990

扫码关注云+社区

领取腾讯云代金券