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

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

    实例一:string result = ""; string str = "大家好! <User EntryTime='2010-10-7' Email='zhan ...

  2. [转帖]SQLSERVER2008R2 将于2019.7.9 结束支持服务 Windows server 2008r2 将于 2020.1.14 结束支持

    来源: https://cloudblogs.microsoft.com/sqlserver/2018/07/12/sql-server-2008-end-of-support-is-the-firs ...

  3. Angular js Radio Button

    症状: 绑定一个list   radio button 老是只能绑定一行,纠结了很久 ,回家发现  原来是 name 用了同一个  ,坑啊,记录下 免得下次再犯. 之前的代码 <ul> & ...

  4. [转]跨平台开发:PhoneGap移动开发框架初探

    目前,随着Google的Android手机和苹果的iphone手机的逐渐普及,越来越多开发者加入到移动应用开发的大军当中.其中,Android应用是基于Java语言基础上进行开发的,而苹果公司的iph ...

  5. java线程dump分析工具

    jstack和线程dump分析  java程序性能分析之thread dump和heap dump 一.[内存dump] jmap –dump:live,format=b,file=heap.bin ...

  6. Angular 动态组件

    Angular 动态组件 实现步骤 Directive HostComponent 动态组件 AdService 配置AppModule 需要了解的概念 Directive 我们需要一个Directi ...

  7. SPOJ_VLATTICE

    题目是给你一个空间,和一个点(n,n,n),求从原点出发能够直接接触多少个点(不经过任何一个点)? 典型的mobius反演即可. 首先,ans=3,因为(1,0,0),(0,1,0),(0,0,1)这 ...

  8. python的N个小功能(找到要爬取的验证码链接,并大量下载验证码样本)

    # -*- coding: utf-8 -*- """ Created on Mon Mar 21 11:04:54 2017 @author: sl "&qu ...

  9. python 查看与更换工作目录

    1. 进入python控制台 2. 查看工作路径,需要导入os包: import os 3. 查看工作路径的命令: os.getcwd() 4. 修改工作路径的命令: os.chdir("d ...

  10. zabbix自定义监控阿里云RDS服务

    zabbix自定义监控rds zabbix通过阿里云api 自动发现.监控阿里云RDS-Mysql数据库 注意事项  脚本会收集RDS别名,  不要默认别名 不要使用中文别名(zabbix不识别)  ...