- 升级指导
- 【V1.5.1升级至V1.6.0】
- 【V1.5.0升级至V1.5.1】" level="1">【V1.5.0升级至V1.5.1】
- 【V1.4.5升级至V1.5.0】" level="1">【V1.4.5升级至V1.5.0】
- 【V1.4.4升级至V1.4.5】" level="1">【V1.4.4升级至V1.4.5】
- 【V1.4.3升级至V1.4.4】" level="1">【V1.4.3升级至V1.4.4】
- 【V1.4.2升级至V1.4.3】" level="1">【V1.4.2升级至V1.4.3】
- 【V1.4.0升级至V1.4.2】" level="1">【V1.4.0升级至V1.4.2】
- 【V1.3.3升级至V1.4.0】" level="1">【V1.3.3升级至V1.4.0】
- 【V1.3.2升级至V1.3.3】" level="1">【V1.3.2升级至V1.3.3】
- 【V1.3.1升级至V1.3.2】" level="1">【V1.3.1升级至V1.3.2】
- 【V1.3.0升级至V1.3.1】" level="1">【V1.3.0升级至V1.3.1】
- 【V1.2.1升级至V1.3.0】" level="1">【V1.2.1升级至V1.3.0】
- 【V1.2.0升级至V1.2.1】" level="1">【V1.2.0升级至V1.2.1】
- 【V1.1.0升级至V1.2.0】" level="1">【V1.1.0升级至V1.2.0】
- 【V1.0.8升级至V1.1.0】" level="1">【V1.0.8升级至V1.1.0】
- 【V1.0.7升级至V1.0.8】" level="1">【V1.0.7升级至V1.0.8】
- 【V1.0.6升级至V1.0.7】" level="1">【V1.0.6升级至V1.0.7】
- 【V1.0.5升级至V1.0.6】" level="1">【V1.0.5升级至V1.0.6】
- 【V1.0.4升级至V1.0.5】" level="1">【V1.0.4升级至V1.0.5】
- 【V1.0.3升级至V1.0.4】" level="1">【V1.0.3升级至V1.0.4】
- 【V1.0.2升级至V1.0.3】" level="1">【V1.0.2升级至V1.0.3】
- 【V1.0.1升级至V1.0.2】" level="1">【V1.0.1升级至V1.0.2】
- 【V1.0.0升级至V1.0.1】" level="1">【V1.0.0升级至V1.0.1】
- 【V1.0公测版2017-01-20升级至V1.0.0正式版】" level="1">【V1.0公测版2017-01-20升级至V1.0.0正式版】
- 【V1.0公测版2017-01-10升级至2017-01-20】" level="1">【V1.0公测版2017-01-10升级至2017-01-20】
- 【V1.0公测版2017-01-04升级至2017-01-10】" level="1">【V1.0公测版2017-01-04升级至2017-01-10】
- 【V1.0公测版2016-12-26升级至2017-01-04】" level="1">【V1.0公测版2016-12-26升级至2017-01-04】
升级指导
【V1.5.1升级至V1.6.0】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
升级前,可能覆盖一些文件,请确认这些文件你是否自己修改过,如果是,升级后记得再修改一次。
1.下载安装补丁" class="reference-link">1.下载安装补丁
下载补丁包并解压,将update目录复制到application目录,然后访问
2.执行升级程序。" class="reference-link">2.执行升级程序。
补丁:http://dolphinphp.com/patch.html
如果是授权用户可登录海豚官网后下载授权版补丁。
3.注意事项" class="reference-link">3.注意事项
由于本次更新涉及一处安全更新,系统默认行为日志功能禁止执行一些危险函数,如:eval、exec、system等,具体可查看文件:config/system.php

如果你的行为日志规则中需要用到一些被禁止的函数,请在此文件中去掉对应的函数名即可。
【V1.5.0升级至V1.5.1】" class="reference-link">【V1.5.0升级至V1.5.1】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
1.下载安装补丁" class="reference-link">1.下载安装补丁
下载补丁包并解压,将update目录复制到application目录,然后访问
2.执行升级程序。" class="reference-link">2.执行升级程序。
补丁:http://dolphinphp.com/patch.html
如果是授权用户可登录海豚官网后下载授权版补丁。
3.注意事项" class="reference-link">3.注意事项
由于本次更新涉及一处安全更新,系统默认行为日志功能禁止执行一些危险函数,如:eval、exec、system等,具体可查看文件:config/system.php

如果你的行为日志规则中需要用到一些被禁止的函数,请在此文件中去掉对应的函数名即可。
【V1.4.5升级至V1.5.0】" class="reference-link">【V1.4.5升级至V1.5.0】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
1.下载安装补丁
下载补丁包并解压,将update目录复制到application目录,然后访问
2.执行升级程序。
补丁:http://dolphinphp.com/patch.html
如果是授权用户可登录海豚官网后下载授权版补丁。
【V1.4.4升级至V1.4.5】" class="reference-link">【V1.4.4升级至V1.4.5】
下载补丁:http://dolphinphp.com/patch.html
然后覆盖即可
【V1.4.3升级至V1.4.4】" class="reference-link">【V1.4.3升级至V1.4.4】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
1.下载安装补丁
下载补丁包并解压,将update目录复制到application目录,然后访问
2.执行升级程序。
补丁:http://dolphinphp.com/patch.html
如果是授权用户可登录海豚官网后下载授权版补丁。
【V1.4.2升级至V1.4.3】" class="reference-link">【V1.4.2升级至V1.4.3】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
1.下载安装补丁
下载补丁包并解压,将update目录复制到application目录,然后访问
2.执行升级程序。
补丁:http://dolphinphp.com/patch.html
如果是授权用户可登录海豚官网后下载授权版补丁。
【V1.4.0升级至V1.4.2】" class="reference-link">【V1.4.0升级至V1.4.2】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
由于1.4.1的更新内容未发布,所以直接跳过1.4.1版本,更新至1.4.2
1.下载安装补丁
下载补丁包并解压,将update目录复制到application目录,然后访问
2.执行升级程序。
补丁:http://dolphinphp.com/patch.html
如果是授权用户可登录海豚官网后下载授权版补丁。
【V1.3.3升级至V1.4.0】" class="reference-link">【V1.3.3升级至V1.4.0】
注意!本次升级了ThinkPHP核心版本至5.1.34LTS,由于TP5.0到TP5.1并非无缝升级,所以本次DolphinPHP升级也非无缝升级,因为需要修改的地方不少,所以不建议升级现有的旧项目,而且本次升级暂无提供升级补丁。
如果真的要升级,请按下面的升级指导操作。
在升级前,请注意备份好站点,并且先看下ThinkPHP官方的升级指导:点此查看
另外,ThinkPHP5.1要求PHP至少是5.6版本,请确保您的服务器上的PHP版本符合要求。
1.备份好您的项目(非常非常非常重要!)
2.在项目根目录,也就是与application同级目录下创建新目录config,将原来的应用extra目录下面的配置文件直接移动到config目录下面。
3.下载DolphinPHP1.4.0完整安装包:链接
将安装包解压覆盖到您的项目,如果您修改过DolphinPHP框架的源码,请注意那些文件,以便覆盖后重新再修改。
4.将application目录下的route.php移动到上级目录的route目录下,由于TP5.1的路由不能关闭,所以会导致访问后台时也会按路由规则访问,这点请注意。
5.删除以下无用文件:
thinkphp/.travis.ymlthinkphp/codecov.ymlthinkphp/console.phpthinkphp/library/think/controller/Rest.phpthinkphp/library/think/controller/Yar.phpthinkphp/library/think/log/driver/Test.phpthinkphp/library/think/model/Merge.phpthinkphp/library/traits/model/SoftDelete.phpthinkphp/library/traits/think/Instance.phpthinkphp/phpunit.xmlthinkphp/start.php
6.删除runtime目录
其他修改" class="reference-link">其他修改
完成以上步骤后,项目可能还不能正常运行,自己开发的模块也要修改,需要注意以下几点:
1.所有的内置类改为引入门面的方式
也就是use think\Cache; 改为 use think\facade\Cache; 具体请参考:https://www.kancloud.cn/manual/thinkphp5_1/353959
2.所有类的初始化方法名_initialize要改为initialize
3.索引数组查询调整如下:
比如5.0是这样的
$map = ['uid' => ['<>', 1],'name' => 'ming'];
5.1需要改成
$map = [['uid', '<>', 1],['name', '=', 'ming']];
4.模板替换参数取消了
也就是fetch()方法内不再支持传入$replace参数,所以包括插件和ZBuilder都不再支持传入自定义模板替换参数
5.TP5.1取消了所有常量
需要用Env::get()获取,比如APP_PAT要用Env::get('app_path')来代替,具体参考:https://www.kancloud.cn/manual/thinkphp5_1/354155#5051_218
6.DS要改为DIRECTORY_SEPARATOR
7.需要输出html内容的话,需要在变量后面使用函数raw,例如{$var|raw}方式替换
8.Hook::listen()方法取消了额外参数
所以插件的处理要注意参数的接收方式,并且插件里的钩子方法的参数只能接受形参,不能接受实参。
如果升级过程中,遇到问题或者发现bug,请到论坛的指定贴内回复。再次之前,请认真阅读ThinkPHP5.1手册,有些用法已经改变
再次提醒,如非必要,在建项目请勿盲目升级。
【V1.3.2升级至V1.3.3】" class="reference-link">【V1.3.2升级至V1.3.3】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
注意:ThinkPHP5.0.24发布了一个安全,建议升级到最新版本。如果不便升级,请直接参考最新版本的Request类的method方法进行手动修复。https://github.com/top-think/framework/commit/4a4b5e64fa4c46f851b4004005bff5f3196de003
1.下载安装补丁
下载补丁包并解压,将update目录复制到application目录,然后访问
执行升级程序。
补丁:http://dolphinphp.com/patch.html
授权用户可登录海豚官网后下载授权版补丁,包含新功能。
【V1.3.1升级至V1.3.2】" class="reference-link">【V1.3.1升级至V1.3.2】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
注意:ThinkPHP5.0.23发布了一个安全,建议升级到最新版本。如果不便升级,请参考TP官方文档,修复方法:https://blog.thinkphp.cn/869075
1.下载安装补丁
下载补丁包并解压,将update目录复制到application目录,然后访问
执行升级程序。
补丁:http://dolphinphp.com/patch.html
2.数据授权
如果使用到了数据授权功能,请修改模块配置文件info.php中的数据授权配置格式,如果没有用到数据授权功能,请忽略。
比如原本cms模块中的数据授权配置如下
// 授权配置'access' => ['group' => ["tab_title" => '栏目授权',"table_name" => "cms_column","primary_key" => "id","parent_id" => "pid","node_name" => "name"],],
请修改为
// 授权配置'access' => ['group' => ['title' => '栏目授权','nodes' => ['group' => 'column','table_name' => 'cms_column','primary_key' => 'id','parent_id' => 'pid','node_name' => 'name',]],],
然后进入后台,【系统设置】【扩展中心】【模块管理】,更新cms模块

其他模块的数据授权也类似这样修改,具体的数据授权配置请参考:数据授权(1.3.2+)
3.清空缓存
点击后台右上角的清空缓存按钮,或者手动删除runtime目录内的所有文件
【V1.3.0升级至V1.3.1】" class="reference-link">【V1.3.0升级至V1.3.1】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
下载补丁包并解压,将update目录复制到application目录,然后访问
执行升级程序。
注意:只能从后台入口执行升级程序,升级过程中,请注意查看升级说明。
如果执行升级过程中,卡主不动,请检测下是不是PHP5环境,如果是,请打开php.ini,搜索;always_populate_raw_post_data = -1;
将前面的分号去掉,然后重启php。
补丁:http://dolphinphp.com/patch.html
【V1.2.1升级至V1.3.0】" class="reference-link">【V1.2.1升级至V1.3.0】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
下载补丁包并解压,将update目录复制到application目录,然后访问
执行升级程序。
注意:只能从后台入口执行升级程序
补丁:http://dolphinphp.com/patch.html
【V1.2.0升级至V1.2.1】" class="reference-link">【V1.2.0升级至V1.2.1】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
下载补丁包并解压,将update目录复制到application目录,然后访问
执行升级程序。
注意:只能从后台入口执行升级程序
补丁:http://dolphinphp.com/patch.html
【V1.1.0升级至V1.2.0】" class="reference-link">【V1.1.0升级至V1.2.0】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
下载补丁包并解压,将update目录复制到application目录,然后访问
执行升级程序。
注意:只能从后台入口执行升级程序
补丁:http://dolphinphp.com/patch.html
【V1.0.8升级至V1.1.0】" class="reference-link">【V1.0.8升级至V1.1.0】
注意!升级前,请务必备份站点和数据库,避免不必要的损失。
由于此次更新了ThinkPHP核心,导致根目录下的
composer.lock文件和vendor目录有变化,如果自己用composer安装过其他扩展,请注意和自己的composer.lock比对,勿直接覆盖,以免导致某些扩展丢失。
由于新版本将框架入口文件移回public目录,所以升级后,需要将网站运行目录设置为public。如果是正式项目,请认真考虑是否升级到此版本,避免出现未知问题。建议另外复制项目进行升级测试。
1. 在数据库中执行,以下sql语句,注意表前缀是否为dp_,如果不是,请改为自己的表前缀。
INSERT INTO `dp_admin_config` VALUES (null, 'system_log', '系统日志', 'system', 'switch', '1', '', '是否开启系统日志功能', '', '', '', '', '', '0', '', '', '', '', '1512635391', '1512635391', '99', '1');
2. 打开【系统】【系统设置】【数据库】,设置“数据库备份根路径”为“../data/”。
3. 如果有自定义扩展表单项,需要将除Builder.php以外的文件,移动到public/extend/form/下
比如,原来的扩展表单项是这样的文件结构

那么需要将除Builder.php以外的其他文件,都移动到public目录

4. 覆盖补丁
补丁:http://dolphinphp.com/patch.html
5. 删除无用的文件
因为将入口文件移动到了public目录,所以原来的入口文件,及其他就无用了,可以删除也可以不删除。

【V1.0.7升级至V1.0.8】" class="reference-link">【V1.0.7升级至V1.0.8】
升级前,请注意备份站点和数据库,这是国际惯例,以防不测。
此版本主要以修复bug和优化为主,可以无缝升级,但还是强烈建议升级前,先备份站点和数据库!!!
升级后,请清空runtime目录。
补丁:http://dolphinphp.com/patch.html
【V1.0.6升级至V1.0.7】" class="reference-link">【V1.0.6升级至V1.0.7】
升级前,请注意备份站点和数据库,这是国际惯例,以防不测。
1. 在数据库中执行,以下sql语句,注意表前缀是否为dp_,如果不是,请改为自己的表前缀。
INSERT INTO `dp_admin_hook` VALUES (null, 'page_plugin_js', '', '页面插件js钩子', '1', '1503633591', '1503633591', '1');INSERT INTO `dp_admin_hook` VALUES (null, 'page_plugin_css', '', '页面插件css钩子', '1', '1503633591', '1503633591', '1');INSERT INTO `dp_admin_hook` VALUES (null, 'signin_sso', '', '单点登录钩子', '1', '1503633591', '1503633591', '1');INSERT INTO `dp_admin_hook` VALUES (null, 'signout_sso', '', '单点退出钩子', '1', '1503633591', '1503633591', '1');INSERT INTO `dp_admin_hook` VALUES (null, 'user_add', '', '添加用户钩子', '1', '1503633591', '1503633591', '1');INSERT INTO `dp_admin_hook` VALUES (null, 'user_edit', '', '编辑用户钩子', '1', '1503633591', '1503633591', '1');INSERT INTO `dp_admin_hook` VALUES (null, 'user_delete', '', '删除用户钩子', '1', '1503633591', '1503633591', '1');INSERT INTO `dp_admin_hook` VALUES (null, 'user_enable', '', '启用用户钩子', '1', '1503633591', '1503633591', '1');INSERT INTO `dp_admin_hook` VALUES (null, 'user_disable', '', '禁用用户钩子', '1', '1503633591', '1503633591', '1');
2. 然后覆盖补丁。
注意!!由于此次更新了ThinkPHP核心,导致根目录下的
composer.lock文件和vendor目录有变化,如果自己用composer安装过其他扩展,请注意和自己的composer.lock比对,勿直接覆盖,以免导致某些扩展丢失。
补丁:http://dolphinphp.com/patch.html
3. 清空runtime目录下的所有缓存文件。
考虑到安全问题,新版不再以明文的方式传输表名,如果需要在quickedit、disable、enable等方法获取表名,可以按下面的方法获取
$table_token = input('param._t');$table_data = session($table_token);$table = $table_data['table']; // 获取当前表格所设置的表名
【V1.0.5升级至V1.0.6】" class="reference-link">【V1.0.5升级至V1.0.6】
升级前,请注意备份站点和数据库,这是国际惯例,以防不测。
- 在数据库中执行,以下sql语句,注意表前缀是否为dp_,如果不是,请改为自己的表前缀。
INSERT INTO `dp_admin_config` VALUES (null, 'upload_driver', '上传驱动', 'upload', 'radio', 'local', 'local:本地', '图片或文件上传驱动', '', '', '', '', '', '0', '', '', '', '', '1501488567', '1501490821', '100', '1');INSERT INTO `dp_admin_hook` VALUES (null, 'upload_attachment', '', '附件上传钩子', '1', '1501493808', '1501493808', '1');ALTER TABLE `dp_admin_menu` ADD COLUMN `params` varchar(255) NOT NULL DEFAULT '' COMMENT '参数' AFTER `status`;
- 然后覆盖补丁即可。
补丁:http://dolphinphp.com/patch.html
【V1.0.4升级至V1.0.5】" class="reference-link">【V1.0.4升级至V1.0.5】
升级前,请注意备份站点和数据库,这是国际惯例,以防不测。
如果用到
index_url方法生成前台url,那么请改为home_url来生成。在数据库中执行,以下sql语句,注意表前缀是否为dp_,如果不是,请改为自己的表前缀。
UPDATE dp_admin_menu SET url_type = 'module_admin' WHERE url_type = 'module';
特别注意,由于此次升级添加了新扩展,composer.json文件有所变化,如果自己用composer安装过其他扩展,请注意和自己的composer.json比对,勿直接覆盖,以免导致某些扩展丢失。
- 然后覆盖补丁即可。
补丁:http://dolphinphp.com/patch.html
【V1.0.3升级至V1.0.4】" class="reference-link">【V1.0.3升级至V1.0.4】
升级前,请注意备份站点和数据库,这是国际惯例,以防不测。
打开“系统”-“系统功能”-“系统设置”,切换到“系统”选项卡,将【配置类型】的内容替换成以下数据,然后保存。
text:单行文本textarea:多行文本static:静态文本password:密码checkbox:复选框radio:单选按钮date:日期datetime:日期+时间hidden:隐藏switch:开关array:数组select:下拉框linkage:普通联动下拉框linkages:快速联动下拉框image:单张图片images:多张图片file:单个文件files:多个文件ueditor:UEditor 编辑器wangeditor:wangEditor 编辑器editormd:markdown 编辑器ckeditor:ckeditor 编辑器icon:字体图标tags:标签number:数字bmap:百度地图colorpicker:取色器jcrop:图片裁剪masked:格式文本range:范围time:时间
然后覆盖补丁即可。
补丁:http://dolphinphp.com/patch.html
【V1.0.2升级至V1.0.3】" class="reference-link">【V1.0.2升级至V1.0.3】
升级前,请注意备份站点和数据库,这是国际惯例,以防不测。
打开“系统”-“系统功能”-“配置管理”,切换到“系统”选项卡
修改“default_module”为“home_default_module”

然后覆盖补丁即可。
补丁:http://dolphinphp.com/patch.html
【V1.0.1升级至V1.0.2】" class="reference-link">【V1.0.1升级至V1.0.2】
http://bbs.dolphinphp.com/?/article/22
【V1.0.0升级至V1.0.1】" class="reference-link">【V1.0.0升级至V1.0.1】
http://bbs.dolphinphp.com/?/article/15
【V1.0公测版2017-01-20升级至V1.0.0正式版】" class="reference-link">【V1.0公测版2017-01-20升级至V1.0.0正式版】
更新前,请注意备份文件和数据库。
1.执行以下sql语句
注意:如果表前缀不是dp_请替换为你的表前缀
ALTER TABLE `dp_admin_module` CHANGE `config` `config` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '配置信息';ALTER TABLE `dp_admin_module` CHANGE `access` `access` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '授权配置';INSERT INTO `dp_admin_config` VALUES (NULL, 'default_module', '前台默认模块', 'system', 'select', 'index', '', '前台默认访问的模块,该模块必须有Index控制器和index方法', '', '', '', '', '', '0', '', '', '', '', '1486714723', '1486715620', '104', '1');INSERT INTO `dp_admin_config` VALUES (NULL, 'minify_status', '开启minify', 'system', 'switch', '0', '', '开启minify会压缩合并js、css文件,可以减少资源请求次数,请按实际需求开启或关闭', '', '', '', '', '', '0', '', '', '', '', '1487035843', '1487035843', '99', '1');
2.覆盖补丁
下载地址:2017-01-20升级至1.0正式版
本次更新的文件较多,如果没有修改过框架文件,可直接将补丁覆盖到框架,如果修改过框架文件,请自行用对比工具查看和修改。
如果在插件中用到了模板替换变量__PLUGINS__,请将对应的插件资源从public/static/plugins/移动到对应的插件目录下
【V1.0公测版2017-01-10升级至2017-01-20】" class="reference-link">【V1.0公测版2017-01-10升级至2017-01-20】
安装方法:直接覆盖到框架根目录(如果修改过框架文件,则自行比对覆盖)
【V1.0公测版2017-01-04升级至2017-01-10】" class="reference-link">【V1.0公测版2017-01-04升级至2017-01-10】
安装方法:直接覆盖到框架根目录
【V1.0公测版2016-12-26升级至2017-01-04】" class="reference-link">【V1.0公测版2016-12-26升级至2017-01-04】
安装方法:直接覆盖到框架根目录
