**为何要发布方案?** 1、可以得到免费的官网宣传。 2、所有用户安装你的方案都可以同步升级,这是最关键最核心的。 **如何发布方案?** 1、删除掉`\application\install\install.lock`此文件及多余的附件。 2、进后台备份数据,把备份出来的sql文件,比如`runtime\mysql_bak\2019-05-10.09f0a6b6/0.sql` 替换掉 `\application\install\sql\install.sql` 此文件 3、修改替换后的 `\application\install\sql\install.sql` 文件,在他最后一行添加如下代码(特别提醒一下,不能用记事本打开修改,他会增加+BOM代码破坏文件的): ~~~ INSERT INTO `qb_config` (`c_value`,`title`, `type`, `c_key`, `form_type`, `ifsys`) VALUES('336','方案ID', 1, 'typeid', 'hidden', 1); UPDATE qb_module SET version_id=0; UPDATE qb_plugin SET version_id=0; UPDATE qb_market SET version_id=0; UPDATE qb_hook_plugin SET version_id=0; ~~~ 上面这段代码有一个数字336需要更换,请打开此网址 [https://x1.php168.com/appstore/index/getid.html](https://x1.php168.com/appstore/index/getid.html) 看看里边显示的ID是多少,就对应的替换过来即可。这个就是分配给你的方案ID。要尽快发布,不然被别人占用了,就需要再换过。 后面4行代码的意思是清空原来安装的模块插件应用市场的ID,让他们不要再跟随原插件的开发者升级。以防止升级带来不可预料的后果。 这样把所有文件打包给别人安装就可以了。 注意:发布到应用市场的话,请最好把 `public` `thinkphp` `runtime` 这三个目录删除掉。因为这三个目录比较大,可能会导致上传失败。 方案应用市场的目的是给安装的用户验证文件同步升级,而这三个目录一般来说用不到。如果要用到某些目录的话,你可以单独的保留`public` 相应的附件,以方便用户升级 。 如果你是免费的方案产品,那就全部文件一起上传,方便别人免费下载安装。收费的方案产品,就不建议全部上传,太多用不到的文件即影响上传,又影响用户升级同步文件等待的时间。 本质上来说,上传的文件就是跟最初安装有差异的文件。是让用户核对更新升级的,比如 `thinkphp` 自安装后都不可能修改过的文件,就没必要一起上传了。 按下图进行方案发布 ![](https://box.kancloud.cn/9819f5a3f63ff3f34f7f2624206e9c51_1029x821.jpg) **如何更新升级日志?** 无论你做了什么升级,都建议你都做个日志,每次升级的日志,都在此目录`\application\common\upgrade\`下面新建一个`.txt`后缀的文本文件,文件名可随意,比如 `1.txt` 或 `log2.txt` 每次新增日志都是新建文件,而不能修改原来的文件。 你添加了日志,用户进后台就会有提示,方便用户知道你到底升级了什么?同时也可以在应用市场那里展示出来。如下图: ![](https://box.kancloud.cn/2f09eb51cf666d9e45bdb8425db266ce_703x906.jpg) 这样就可以让别人知道你持续的升级更新,才更愿意购买你的方案。 **小提示** 用户安装了你的方案,他也可以在应用市场安装其它应用。安装其它应用的话,对应的那个应用会跟着其开发者一起升级。 请务必提醒用户不要在应用市场重复安装你系统自带的插件应用,比如方案自带的论坛或圈子等。否则他即跟着开发者升级,也跟着你的方案升级,最后升级的会替换之前升级的。