最近很是激动啊,现在的自己还是和当初刚刚学习程序的时候一样,虽然现在回头一看自己写过的程序,都非常的小孩子和漏洞百出,也没有太多的考虑效率和安全,但是还是每次写出了新的程序或系统,都是抱着一种马上拿着去参赛的心情。感觉很爽啊,虽然过段时间再回看这个程序,又会发现一些不足,但无疑这样积极的心态让我受益匪浅。做程序就是要这样,通过一些小小的成功,来增加自己的成就感和自豪感,这样会让你更有兴趣。

这个导医系统,本来是为了满足公司需要开发的,所以没有考虑太多,是我自己做的,历时也不是很长时间,不过也是直接跳过内部测试,直接边使用边测试的,现在使用了近一年时间了,数据量级现在为十几万级,中间有几次小的修改和升级,也算是度过了测试,运行比较良好。所以最近又升级了一下,希望可以做个简单的通用发行版。所以今天就做了下安装程序。下面就总结一下php的安装程序的做法。

这里我不会写具体的代码了,是要说一下做这个安装程序的思路。php做的程序或系统,一般都是bs的系统,无论你是否是使用域名公网使用,还是内部搭建环境,自己内部使用,都是一样的。所以php的程序是基于环境的,这里就不说环境的搭建了,无论你是用集成,等等都可以,在哪个服务器也都可以。这里主要说一下php的安装程序的实现,所有的程序都是目录和文件,php也是一样。

php的项目做完之后,一般都是预留出来配置文件,我们要做安装程序就是来操作这个配置文件,如果用到了数据库,就还要操作数据库,下面就说一下带有数据库的安装程序的写法.

1,检测目录和文件的权限:一直使用win的同学可能不注意这一点,因为在win上,目录的权限是比较模糊的,但是在linux上,文件的权限是很重要的,所以在开发过程中,要记录好你项目中那些目录和文件是需要有写入权限的,哪些是要有可执行权限等等。而那些不需要写入权限的,最好就不要让他有写入权限,这样才会更安全。你可以用php的函数,判断一下你指定的文件或目录是否具有相应的权限,如果没有,给出提示让他从ftp或其他方式修改,或者是你用php的chmod()函数,将指定的文件修改为指定的权限。比如,你的程序如果有生成静态文件,或生成备份文件的。就要有写入权限。这个时候,一般情况下安装程序都是写在一个叫做install的目录下,一定要注意里面程序的路径问题,这里就要大家研究下了。

2,修改配置文件:一般这个配置文件就是数据库的配置文件,当然有的时候也有一些你的程序的必要的配置文件,比如你有定义一个全局变量的值,需要在安装的时候就指定好,那就要在这里让安装者填写,这些需要的配置变量填写完,一定要进行验证是否正确填写,是否能配置成功,比如数据库的,就链接一下数据库,看能否正确链接,当全部验证通过,我们可以通过正则等,将配置文件修改为他填写好的对应的值。

3,导入数据库:数据库导入有很多方法了,有的人习惯与用一些phpmyadmin的程序等,但有的情况下使用者可能只有一个账号而已,所以要写个数据库导入程序,这个程序其实很简单,我们可以讲我们的数据库清空一下可以清空的数据表,然后转存为sql文件,或者其他的文件(php文件,当然相应的导入程序要对应的来写了,这里以mysql导出的sql文件这样的最简单为例),然后我们读取这个sql文件,执行里面的sql语句即可(可能有的时候要过滤一下里面的其他的东西,注释等),当然也可以写成其他的数据库导入程序,比如现在大部分导入程序为其专门写一个导入程序,都是可以的。

4,建立初始用户:这个就容易理解了,无非就是建一个系统的初始超级管理员,这样就可以登录使用了。

但是有的安装程序可能相对复杂,有了其他的要求,比如这个导医系统,我就做了两个安装程序工用户选中,一个是初始安装,就是第一次用的,一个是原来有一个.net写的导医系统,我就是把这个.net的改版了,并升级了一下。这样有的情况下,就要保留原有的.net数据转移到这个程序上,所以就要增加转入程序。

以上是本文关于php 如何写一个自己项目的安装程序,希望本文对广大php开发者有所帮助,感谢阅读本文。

如何给自己的PHP项目制作安装程序的更多相关文章

  1. Wix打包系列(一)如何使用wix制作安装程序

    原文:Wix打包系列(一)如何使用wix制作安装程序 最近由于项目需要,需要给客户制作安装程序,一开始使用vs2005自带的打包工程来打包,但用了一段时间发现vs打包太死板,而且使用起来问题很多.收费 ...

  2. vs.net应用程序图标以及制作安装程序快捷方式图标设置

           我们通常在开发软件完毕后需要打包制作安装程序,这个时侯一般都会需要设置应用程序的图标,使用默认的图标一般都比较难看,那么我们应该怎样设置自定义的图标呢? 我现在要讲的图标设置有两种情况, ...

  3. VS2010制作安装程序

    转自(http://blog.csdn.net/wenmang1977/article/details/7733685) 序 前些天想写一下制作安装程序,由于要写的内容比较多,一拖再拖,不过坚持就是胜 ...

  4. 使用好压(HaoZip)软件打包EverEdit制作安装程序

    最近使用EverEdit,使用原始的安装程序安装后,需要重新安装插件,对配置文件进行了修改,定制了工具栏.将安装后的程序目录进行打包,制作新的安装包,便于携带. 以下为打包制作过程: 打包原料:Eve ...

  5. Unity 制作安装程序和卸载程序

    1.最简单的方式通过winrar制作 但是做出来的页面好low的感觉 参考链接:https://www.cnblogs.com/fetty/p/5185913.html 2.通过inno制作安装程序: ...

  6. php 如何写一个自己项目的安装程序

    版权声明:此篇文章只是用作笔记,如果版权冲突,请邮件通知一下(15201155501@163.com) https://blog.csdn.net/shenpengchao/article/detai ...

  7. 使用WINRAR来制作安装程序

    1. WINRAR版本 2. 将所有文件放在同一个文件夹下 3. 选中所有文件点击右键 -> Add to archive 4. General设置 5. Advanced 设置 6. 确定开始 ...

  8. C#打包制作安装程序过程全记录

    该文是根据网上的文章并结合自己实际打包的过程而整理的. 开发平台:VisualStudio2005中文版. 步骤如下: 1. 创建一个安装向导项目或安装部署项目 新建项目-〉其他项目类型-〉安装与部署 ...

  9. 利用ASP.NET操作IIS (可以制作安装程序)

    很多web安装程序都会在IIS里添加应用程序或者应用程序池,早期用ASP.NET操作IIS非常困难,不过,从7.0开始,微软提供了 Microsoft.Web.Administration 类,可以很 ...

随机推荐

  1. Qt——用于表格QTableView的模型

    如果想使用表格来呈现数据,Qt提供了一个方便的部件QTableWidget,但是直接用它实现一些功能可能比较困难.这里将介绍一种强大.灵活的方式来操作表格. 一.模型/视图架构 在这个架构中,模型用于 ...

  2. BZOJ5321 JXOI2017加法(二分答案+贪心+堆+树状数组)

    二分答案后得到每个位置需要被加的次数.考虑贪心.从左到右考虑每个位置,将以该位置为左端点的区间按右端点从大到小加进堆.看该位置还需要被加多少次,如果不需要加了就不管,否则取堆顶区间将其选择,BIT实现 ...

  3. 腾讯下载的视频qlv格式转化为MP4格式

    最近在看腾讯视频的时候发现下载下来的视频格式都是qlv格式,且不能用其他播放器播放,甚是恼怒,网上找了很多方法都很繁琐,于是自己写了一个小程序来处理这个问题.把下载下来的qlv格式转化为MP4格式 首 ...

  4. What Kind of Friends Are You? ZOJ - 3960(ZheJiang Province Contest)

    怎么说呢...我能说我又过了一道水题? emm... 问题描述: 给定 n 个待确定名字的 Friends 和 q 个问题.已知 c 个 Friends 的名字. 对于第 i 个问题,有  个 Fri ...

  5. 【BZOJ4140】共点圆加强版(二进制分组)

    [BZOJ4140]共点圆加强版(二进制分组) 题面 BZOJ 题解 我卡精度卡了一天.... 之前不强制在线的做法是\(CDQ\)分治,维护一个凸壳就好了. 现在改成二进制分组,每次重建凸壳就好了. ...

  6. Miiler-Robin素数测试与Pollard-Rho大数分解法

    板题 Miiler-Robin素数测试 目前已知分解质因数以及检测质数确定性方法就只能\(sqrt{n}\)试除 但是我们可以基于大量测试的随机算法而有大把握说明一个数是质数 Miler-Robin素 ...

  7. AC自动机【萌新文章】

    我这个蒟蒻第一次写博客,有点小激动呢. 主要是最近刚学了AC自动机,学得糟糟糕糕,记录一下,看到dalao们都在写博客,决定自己也写一波[我好水的啦,写的也不好] AC自动机大概就是    Trie+ ...

  8. 洛谷 P3171 [CQOI2015]网络吞吐量 解题报告

    P3171 [CQOI2015]网络吞吐量 题目描述 路由是指通过计算机网络把信息从源地址传输到目的地址的活动,也是计算机网络设计中的重点和难点.网络中实现路由转发的硬件设备称为路由器.为了使数据包最 ...

  9. 【题解】CF1154

    A Description 有三个正整数 \(a,~b,~c\),现在给定 \(x_1~=~a + b,~x_2~=~a + c, x_3~=~b + c, ~x_4~=~a + b + c\),请求 ...

  10. 【组合数学】【P5216】DLS采花

    Description DLS 有 \(N\) 个花田,每个花田里有 \(a_i\) 朵花. DLS 喜欢稀奇古怪的花田,他希望重新排列花田,然后去采花. 但 DLS 采花又有一个癖好:他会从左往右采 ...