框架发布

框架发布

最新版本发布信息
提问交流

提问交流

使用问题咨询
经验分享

经验分享

开发经验交流分享
功能建议

功能建议

官方开发功能建议
BUG反馈

BUG反馈

使用BUG反馈
模块&插件&数据包

模块&插件&数据包

模块插件数据包分享

如何获取ajax传送的post数据

提问交流dolphinphp 回复了问题 • 2 人关注 • 1 个回复 • 4636 次浏览 • 2017-07-21 21:21 • 来自相关话题

如何在表格的每行对应的数据中建立索引关系?

提问交流dolphinphp 回复了问题 • 2 人关注 • 1 个回复 • 1719 次浏览 • 2017-07-17 09:20 • 来自相关话题

上传文件成功,却报服务器错误

提问交流流风回雪 回复了问题 • 2 人关注 • 1 个回复 • 2914 次浏览 • 2017-07-16 03:43 • 来自相关话题

服务器发生错误~

提问交流jerryxing 回复了问题 • 2 人关注 • 4 个回复 • 2474 次浏览 • 2017-07-15 09:45 • 来自相关话题

【定时/计划任务】模块发布

模块&插件流风回雪 发表了文章 • 31 个评论 • 14644 次浏览 • 2017-07-14 09:11 • 来自相关话题

简介:
 
此模块可以在网站系统的后台管理定时任务,让系统自动的定时的执行SQL,Shell或者请求指定的URL。
任务计划使用与 linux 一致的的 cron 表达式进行配置,所以非常灵活。例如:0 23 ? * MON-FRI 这样配置就可以设置任务在 每周一至周五晚上11点30分 执行计划任务。至于  cron 表达式请自行百度查询!

模块大量抄袭了 FastAdmin 的设计,但 FastAdmin 不能后台查看任务的执行结果,只能在服务器上查看日志文件,而且日志记录还不完整。不过我们还是要感谢FastAdmin作者!
FastAdmin项目地址: git.oschina.net/karson/fastadmin
 
 
应用场景举例:
定时执行SQL,比如定时清理某些日志表;定时访问某个本地路径或者远程的URL,让其做某些工作;定时执行Shell命令,比如定时更新网站搜索引擎的索引。
  

安装流程:
 1. 安装这两个依赖包composer require mtdowling/cron-expression

composer require guzzlehttp/guzzle
说明:
mtdowling/cron-expression 是用来解析、计算 cron 表达式的关键组件;
guzzlehttp/guzzle 用来请求远程 url 的。

2. 安装模块
把模块包解压后放到 application 目录,然后进系统后台安装本模块。
 
3. 把系统入口文件 index.php 改为下面代码
 
DolphinPHP V1.0.8 版本使用下面代码// 定义应用目录
define('APP_PATH', __DIR__ . '/application/');

// 定义后台入口文件
define('ADMIN_FILE', 'admin.php');

// 检查是否安装
if(!is_file(__DIR__ . '/data/install.lock')){
define('BIND_MODULE', 'install');
}

// 加载框架基础文件
require __DIR__ . '/thinkphp/base.php';

// cli 模式关闭路由
if (PHP_SAPI == 'cli'){
\think\App::route(false);
}

// 执行应用
\think\App::run()->send();
 
DolphinPHP V1.1.0 以上版本使用下面代码// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');

// 定义后台入口文件
define('ADMIN_FILE', 'admin.php');

// 检查是否安装
if(!is_file(__DIR__ . '/../data/install.lock')){
define('BIND_MODULE', 'install');
}

// 加载框架基础文件
require __DIR__ . '/../thinkphp/base.php';

// cli 模式关闭路由
if (PHP_SAPI == 'cli'){
\think\App::route(false);
}

// 执行应用
\think\App::run()->send();
 说明:
把相对路径改成绝对路径的目的是为了使定时任务可以在命令行下的任意位置执行;cli模式下必须关闭系统的路由功能,否则 ThinkPHP 在检查路由的时候会报错,这貌似是 ThinkPHP 的BUG;
 
4. 开启PHP的 shell_exec() 函数
打开 php.ini ,在里面搜索 disable_functions ,然后把等号后面的 shell_exec 删掉执行 /etc/init.d/httpd restart 重启 Apache ,如果是 Nginx 的话执行 /etc/init.d/php-fpm restart 重启 PHP
 
5. 添加一个Linux上的crontab定时任务
执行 crontab -e ,在里面添加一条定时任务,让服务器每1分钟访问一次我们的任务执行接口* * * * * /usr/bin/php /你网站的完整根路径(绝对路径)/index.php /crontab/autotask(1、注意空格;2、注意 DolphinPHP V1.1.0 以上版本入口文件是在 public 目录) 

6. 到网站后台添加任务即可
 
 
截图:





 任务列表





 请求本地路径配置





 配置定时执行SQL





请求远程URL,这里故意把url写错,用来测试请求失败的效果





 执行的任务日志列表





 可以看到,上面请求远程URL的任务内容配置错了,这里执行失败后便记录下了错误内容





 执行Shell命令后记录返回的结果
 

模块包:
适用于 DolphinPHP V1.0.8

crontab_v1_0_8.zip




适用于 DolphinPHP V1.1.0 以上版本

crontab_v1_1_0.zip




从 DolphinPHP 1.0.8 升级到 1.1.0
1、升级时如果用升级包里的 vendor 替换了原系统的 vendor,请检查模块需要的那两个依赖包是否存在,如果被替换或删除了,请重新安装;
2、升级后如果覆盖了 index.php 入口文件,请照文中方法修改;
3、重新下载文中适用于 DolphinPHP V1.1.0 以上版本的模块包进行覆盖(实际上是需要覆盖 /crontab/view/admin/index/add.html 文件和 /crontab/home/Autotask.php 即可)
4、执行 crontab -e 命令,修改 Linux 定时任务中网站系统入口文件的绝对路径,因为 1.1.0 把入口调整到了 public 目录,这里也需要在 index.php 前面加上 public
  
更新日志:
2018-02-21:
1. 修复升级到 Dolphinphp v1.1.0 后本地 URL 任务执行错误问题;
 
2018-01-24:
1. 修改模板文件以支持 DolphinPHP V1.1.0 以上版本;
2. 上文中的安装说明新增 DolphinPHP V1.1.0 以上版本注意事项;

 2017-10-27:
1. 支持 DolphinPHP V1.0.8(V1.0.8以下版本需要删除表格构建器的raw()方法,V1.0.7系统有BUG,所以不支持);
2. 把 rmccue/requests 组件换成 guzzlehttp/guzzle;

 2017-07-15:
1. 更换掉后台任务管理模板的那种蛋疼的写法;
2. 修改任务执行接口上的一个小bug;
 

注意:
 
不支持windows环境 查看全部
简介:
 
此模块可以在网站系统的后台管理定时任务,让系统自动的定时的执行SQL,Shell或者请求指定的URL。
任务计划使用与 linux 一致的的 cron 表达式进行配置,所以非常灵活。例如:0 23 ? * MON-FRI 这样配置就可以设置任务在 每周一至周五晚上11点30分 执行计划任务。至于  cron 表达式请自行百度查询!

模块大量抄袭了 FastAdmin 的设计,但 FastAdmin 不能后台查看任务的执行结果,只能在服务器上查看日志文件,而且日志记录还不完整。不过我们还是要感谢FastAdmin作者!
FastAdmin项目地址: git.oschina.net/karson/fastadmin
 
 
应用场景举例:
  1. 定时执行SQL,比如定时清理某些日志表;
  2. 定时访问某个本地路径或者远程的URL,让其做某些工作;
  3. 定时执行Shell命令,比如定时更新网站搜索引擎的索引。

  

安装流程:
 1. 安装这两个依赖包
composer require mtdowling/cron-expression

composer require guzzlehttp/guzzle

说明:
mtdowling/cron-expression 是用来解析、计算 cron 表达式的关键组件;
guzzlehttp/guzzle 用来请求远程 url 的。

2. 安装模块
把模块包解压后放到 application 目录,然后进系统后台安装本模块。
 
3. 把系统入口文件 index.php 改为下面代码
 
DolphinPHP V1.0.8 版本使用下面代码
// 定义应用目录
define('APP_PATH', __DIR__ . '/application/');

// 定义后台入口文件
define('ADMIN_FILE', 'admin.php');

// 检查是否安装
if(!is_file(__DIR__ . '/data/install.lock')){
define('BIND_MODULE', 'install');
}

// 加载框架基础文件
require __DIR__ . '/thinkphp/base.php';

// cli 模式关闭路由
if (PHP_SAPI == 'cli'){
\think\App::route(false);
}

// 执行应用
\think\App::run()->send();

 
DolphinPHP V1.1.0 以上版本使用下面代码
// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');

// 定义后台入口文件
define('ADMIN_FILE', 'admin.php');

// 检查是否安装
if(!is_file(__DIR__ . '/../data/install.lock')){
define('BIND_MODULE', 'install');
}

// 加载框架基础文件
require __DIR__ . '/../thinkphp/base.php';

// cli 模式关闭路由
if (PHP_SAPI == 'cli'){
\think\App::route(false);
}

// 执行应用
\think\App::run()->send();

 说明:
  1. 把相对路径改成绝对路径的目的是为了使定时任务可以在命令行下的任意位置执行;
  2. cli模式下必须关闭系统的路由功能,否则 ThinkPHP 在检查路由的时候会报错,这貌似是 ThinkPHP 的BUG;

 
4. 开启PHP的 shell_exec() 函数
  1. 打开 php.ini ,在里面搜索 disable_functions ,然后把等号后面的 shell_exec 删掉
  2. 执行 /etc/init.d/httpd restart 重启 Apache ,如果是 Nginx 的话执行 /etc/init.d/php-fpm restart 重启 PHP

 
5. 添加一个Linux上的crontab定时任务
执行 crontab -e ,在里面添加一条定时任务,让服务器每1分钟访问一次我们的任务执行接口
* * * * * /usr/bin/php /你网站的完整根路径(绝对路径)/index.php /crontab/autotask
(1、注意空格;2、注意 DolphinPHP V1.1.0 以上版本入口文件是在 public 目录) 

6. 到网站后台添加任务即可
 
 
截图:

QQ截图20170714082128.png

 任务列表

QQ截图20170714082222.png

 请求本地路径配置

QQ截图20170714082359.png

 配置定时执行SQL

QQ截图20170714082450.png

请求远程URL,这里故意把url写错,用来测试请求失败的效果

QQ截图20170714082525.png

 执行的任务日志列表

QQ截图20170714082608.png

 可以看到,上面请求远程URL的任务内容配置错了,这里执行失败后便记录下了错误内容

QQ截图20170714082633.png

 执行Shell命令后记录返回的结果
 

模块包:
适用于 DolphinPHP V1.0.8



适用于 DolphinPHP V1.1.0 以上版本



从 DolphinPHP 1.0.8 升级到 1.1.0
1、升级时如果用升级包里的 vendor 替换了原系统的 vendor,请检查模块需要的那两个依赖包是否存在,如果被替换或删除了,请重新安装;
2、升级后如果覆盖了 index.php 入口文件,请照文中方法修改;
3、重新下载文中适用于 DolphinPHP V1.1.0 以上版本的模块包进行覆盖(实际上是需要覆盖 /crontab/view/admin/index/add.html 文件和 /crontab/home/Autotask.php 即可)
4、执行 crontab -e 命令,修改 Linux 定时任务中网站系统入口文件的绝对路径,因为 1.1.0 把入口调整到了 public 目录,这里也需要在 index.php 前面加上 public
  
更新日志:
2018-02-21:
1. 修复升级到 Dolphinphp v1.1.0 后本地 URL 任务执行错误问题;
 
2018-01-24:
1. 修改模板文件以支持 DolphinPHP V1.1.0 以上版本;
2. 上文中的安装说明新增 DolphinPHP V1.1.0 以上版本注意事项;

 2017-10-27:
1. 支持 DolphinPHP V1.0.8(V1.0.8以下版本需要删除表格构建器的raw()方法,V1.0.7系统有BUG,所以不支持);
2. 把 rmccue/requests 组件换成 guzzlehttp/guzzle;

 2017-07-15:
1. 更换掉后台任务管理模板的那种蛋疼的写法;
2. 修改任务执行接口上的一个小bug;
 

注意:
 
不支持windows环境

1.05图片上传失败

BUG反馈fooir 回复了问题 • 3 人关注 • 3 个回复 • 3660 次浏览 • 2017-07-13 16:36 • 来自相关话题

如何在模块中使用thinkphp的多级控制器?

提问交流dolphinphp 回复了问题 • 2 人关注 • 2 个回复 • 2431 次浏览 • 2017-07-13 15:53 • 来自相关话题

搜索能否加上 模糊 大于或小于

功能建议dolphinphp 回复了问题 • 2 人关注 • 1 个回复 • 1622 次浏览 • 2017-07-13 15:40 • 来自相关话题

api怎么调用图片?

提问交流dolphinphp 回复了问题 • 2 人关注 • 2 个回复 • 2333 次浏览 • 2017-07-13 15:25 • 来自相关话题

关于1.0.5版本,文件或图片上传出错的解决办法

经验分享dolphinphp 发表了文章 • 4 个评论 • 2757 次浏览 • 2017-07-13 15:16 • 来自相关话题

下载补丁,覆盖即可。
 
此问题由于误删除代码造成的,给大家带来不便了,抱歉。
 
也可以重新在官网下载完整补丁,或者下载完整版。
下载补丁,覆盖即可。
 
此问题由于误删除代码造成的,给大家带来不便了,抱歉。
 
也可以重新在官网下载完整补丁,或者下载完整版。

DolphinPHP V1.0.5发布

框架发布dolphinphp 发表了文章 • 2 个评论 • 2440 次浏览 • 2017-07-12 20:40 • 来自相关话题

此版本升级ThinkPHP至5.0.10,增加了一些大家一直期待的功能,比如自定义后台入口、设置某些模块使用默认控制器层、根据条件替换指定的右侧按钮、按条件给所在行添加指定的class类名、增加表格顶部下拉菜单筛选等等,是一个推荐升级的版本。
 
废话不多说,看看更新日志中,有没有你期待的功能。
 
【新增】
增加html安全过滤方法htmlpurifier
模块管理增加“更新”功能,可更新模块的基础信息(不包括模块名),模块配置、授权配置,不更新菜单和行为
支持配置某些模块使用默认控制器层(感谢网友:Talent.Miao 的建议)
支持自定义后台入口文件
表格新增顶部下拉菜单筛选
表格增加索引编号显示
表单新增4个额外html代码标记,用于插入html代码,分别为content_top,content_bottom,form_top,form_bottom(感谢网友:灵九哲 的建议)
表格新增addTrClass方法,支持按条件给所在行添加指定的class类名

【改进】
index_url方法改为home_url
改进table界面的按钮权限判断
节点管理添加节点时可以选前台节点或后台节点
改进自定义按钮,除了预设的几种按钮类型,其他均为自定义按钮
升级ThinkPHP核心至5.0.10
static类型可以添加用于提交到服务器的值(感谢网友:沉默的大多数 的建议)
表单的日期和日期范围类型支持自定义参数(感谢网友:veeki 的建议)
select2插件默认自动加载中文(感谢网友:沉默的大多数 的建议)
自动添加和编辑支持弹窗(感谢网友:yangweijie 的建议)
弹窗支持自定义js回调函数
搜索框如果选择了搜索某个字段,则placeholder也相应显示某个字段名称(感谢网友:Talent.Miao 的建议)
文件上传和图片上传增加自定义回调支持(感谢网友:veeki 的建议)
增强替换右侧按钮功能,支持按条件替换指定按钮

【修正】
在页面宽度较小的情况下,表格头部筛选按钮和排序按钮会换行的问题
弹窗打开设置了setTabNav,tab标签不显示的问题(感谢网友:Where)
表格页面中,datetime.edit、date.edit、time.edit类型缺少文件的问题(感谢网友:SublimeCT 的反馈)
自动新增、自动编辑缓存名称不正确的问题(感谢网友:Fizz、 的反馈)
home_url和admin_url方法不支持二级目录的问题
验证码不支持二级目录的问题(感谢网友:slhk,wmjhb 的反馈)
头像显示不正确的问题(感谢网友:VIN 的反馈)
用户表字段备注问题(感谢网友:刹那々永恒 的反馈)
非管理员账号上传文件错误的问题(感谢网友:自由鸟~birdy 的反馈)
验证码在其他入口无法显示的问题
收起左侧菜单,弹窗页面会显示部分左侧菜单的问题(感谢网友:Talent.Miao 的反馈)
tab切换在某些情况下上传组件失效的问题(感谢网友:『╬』 的反馈)
模块配置中的触发器无效的问题(感谢网友:Where 的反馈)
table的link类型使用pop时,点击单元格空白会触发pop事件的问题(感谢网友:Talent.Miao 的反馈)
格式文本为数字类型时无法使用的问题(感谢网友:宁静致远 的反馈)
时间编辑插件与快速编辑插件样式冲突的问题
开启minify后,部分js缺失的问题
cms模块,模型字段为百度地图时,无法加载地图的问题
当表格搜索条件变化时,没有重置分页的问题(感谢网友:yangweijie 的反馈)
summernote编辑器上传图片成功,但无法插入到编辑器的问题(感谢网友:要啥自行车 的反馈)【升级指导】
http://doc.dolphinphp.com/256445
【下载】
官网下载:http://www.dolphinphp.com/download.html 
Coding.net仓库:https://coding.net/u/LoopMing/p/DolphinPHP/git
GitHub仓库:https://github.com/caiweiming/DolphinPHP.git 
码云仓库:https://git.oschina.net/caiweiming/DolphinPHP.git
  查看全部
此版本升级ThinkPHP至5.0.10,增加了一些大家一直期待的功能,比如自定义后台入口、设置某些模块使用默认控制器层、根据条件替换指定的右侧按钮、按条件给所在行添加指定的class类名、增加表格顶部下拉菜单筛选等等,是一个推荐升级的版本。
 
废话不多说,看看更新日志中,有没有你期待的功能。
 
【新增】
增加html安全过滤方法htmlpurifier
模块管理增加“更新”功能,可更新模块的基础信息(不包括模块名),模块配置、授权配置,不更新菜单和行为
支持配置某些模块使用默认控制器层(感谢网友:Talent.Miao 的建议)
支持自定义后台入口文件
表格新增顶部下拉菜单筛选
表格增加索引编号显示
表单新增4个额外html代码标记,用于插入html代码,分别为content_top,content_bottom,form_top,form_bottom(感谢网友:灵九哲 的建议)
表格新增addTrClass方法,支持按条件给所在行添加指定的class类名

【改进】
index_url方法改为home_url
改进table界面的按钮权限判断
节点管理添加节点时可以选前台节点或后台节点
改进自定义按钮,除了预设的几种按钮类型,其他均为自定义按钮
升级ThinkPHP核心至5.0.10
static类型可以添加用于提交到服务器的值(感谢网友:沉默的大多数 的建议)
表单的日期和日期范围类型支持自定义参数(感谢网友:veeki 的建议)
select2插件默认自动加载中文(感谢网友:沉默的大多数 的建议)
自动添加和编辑支持弹窗(感谢网友:yangweijie 的建议)
弹窗支持自定义js回调函数
搜索框如果选择了搜索某个字段,则placeholder也相应显示某个字段名称(感谢网友:Talent.Miao 的建议)
文件上传和图片上传增加自定义回调支持(感谢网友:veeki 的建议)
增强替换右侧按钮功能,支持按条件替换指定按钮

【修正】
在页面宽度较小的情况下,表格头部筛选按钮和排序按钮会换行的问题
弹窗打开设置了setTabNav,tab标签不显示的问题(感谢网友:Where)
表格页面中,datetime.edit、date.edit、time.edit类型缺少文件的问题(感谢网友:SublimeCT 的反馈)
自动新增、自动编辑缓存名称不正确的问题(感谢网友:Fizz、 的反馈)
home_url和admin_url方法不支持二级目录的问题
验证码不支持二级目录的问题(感谢网友:slhk,wmjhb 的反馈)
头像显示不正确的问题(感谢网友:VIN 的反馈)
用户表字段备注问题(感谢网友:刹那々永恒 的反馈)
非管理员账号上传文件错误的问题(感谢网友:自由鸟~birdy 的反馈)
验证码在其他入口无法显示的问题
收起左侧菜单,弹窗页面会显示部分左侧菜单的问题(感谢网友:Talent.Miao 的反馈)
tab切换在某些情况下上传组件失效的问题(感谢网友:『╬』 的反馈)
模块配置中的触发器无效的问题(感谢网友:Where 的反馈)
table的link类型使用pop时,点击单元格空白会触发pop事件的问题(感谢网友:Talent.Miao 的反馈)
格式文本为数字类型时无法使用的问题(感谢网友:宁静致远 的反馈)
时间编辑插件与快速编辑插件样式冲突的问题
开启minify后,部分js缺失的问题
cms模块,模型字段为百度地图时,无法加载地图的问题
当表格搜索条件变化时,没有重置分页的问题(感谢网友:yangweijie 的反馈)
summernote编辑器上传图片成功,但无法插入到编辑器的问题(感谢网友:要啥自行车 的反馈)
【升级指导】
http://doc.dolphinphp.com/256445
【下载】
官网下载:http://www.dolphinphp.com/download.html 
Coding.net仓库:https://coding.net/u/LoopMing/p/DolphinPHP/git
GitHub仓库:https://github.com/caiweiming/DolphinPHP.git 
码云仓库:https://git.oschina.net/caiweiming/DolphinPHP.git
 

数据表主键名如果不是ID就会导致无法修改删除数据

BUG反馈dolphinphp 回复了问题 • 2 人关注 • 1 个回复 • 1702 次浏览 • 2017-07-12 10:13 • 来自相关话题

编辑器插入图片显示上传成功,但图片没插入到编辑器中

BUG反馈dolphinphp 回复了问题 • 2 人关注 • 1 个回复 • 1680 次浏览 • 2017-07-12 10:00 • 来自相关话题

数据分页后,搜索问题

BUG反馈dolphinphp 回复了问题 • 2 人关注 • 1 个回复 • 1561 次浏览 • 2017-07-11 11:09 • 来自相关话题

addFile 的返回事件

提问交流dolphinphp 回复了问题 • 2 人关注 • 1 个回复 • 1683 次浏览 • 2017-07-11 10:37 • 来自相关话题

replaceRightButton 如何替换右侧某个自定义按钮

提问交流dolphinphp 回复了问题 • 2 人关注 • 1 个回复 • 2252 次浏览 • 2017-07-11 10:14 • 来自相关话题

addTopButtons 的自定义按钮如何跳转一个现有的地址

提问交流dolphinphp 回复了问题 • 2 人关注 • 1 个回复 • 2461 次浏览 • 2017-07-10 10:40 • 来自相关话题

一个table列显示多个字段

提问交流dolphinphp 回复了问题 • 2 人关注 • 1 个回复 • 2301 次浏览 • 2017-07-09 14:54 • 来自相关话题

关于link弹出框的BUG

BUG反馈dolphinphp 回复了问题 • 2 人关注 • 1 个回复 • 1550 次浏览 • 2017-07-09 11:28 • 来自相关话题

关于addDate 怎么设置最小时间

提问交流dolphinphp 回复了问题 • 2 人关注 • 2 个回复 • 1542 次浏览 • 2017-07-09 11:25 • 来自相关话题