AMH 社区首页
AMH社区 - 开放自由有价值的社区
[求助帖] bug报告,备份列表页面,备份时间显示出错 |
|
---|---|
l12ab |
l12ab 发表于 2013-08-31 13:04:47
本帖最后由 l12ab 于 2013-9-1 12:33 编辑
Model/backups.php文件第48行 $backup_time = date('Y-m-d H:i:s', strtotime(str_replace('-', '', $backup_file_arr[0]))); 这一段是执行amh ls_backup命令,根据返回结果,添加相应的记录到备份文件列表。但是这一段是在php里执行的,php设置了北京时间,结果所有的列表里的“备份时间”都被加了9个小时或20个小时。(为什么是9个小时或者20个小时?) 因为$backup_file_arr[0]是文件名第一个点(.)前面部分,如n-20130831-040501 替换减号(-)后,变成n20130831040501 然后将该字符串转换成时间戳,对,错误就在这里。 这不是一个正确的时间格式字符串,如果把n去掉,就好了。 解决,把第48行替换成 $backup_file_arr[0] = str_replace('-', '', $backup_file_arr[0]); 当然,用正则的话,代码更少$backup_file_arr[0] = str_replace('y', '', $backup_file_arr[0]); $backup_file_arr[0] = str_replace('n', '', $backup_file_arr[0]); $backup_file_arr[0] = str_replace('Y', '', $backup_file_arr[0]); $backup_file_arr[0] = str_replace('N', '', $backup_file_arr[0]); $backup_time = date('Y-m-d H:i:s', strtotime($backup_file_arr[0])); 写在后面 这应该是4.0版开始才有的问题,记得以前3.1或者3.2版,备份的文件名是没有最前面的y或者n的。 这个问题,我之前其实提过http://amysql.com/bbs/post-733-1-1.htm 另外 安装文件amh.sh有设置时区为北京时间,但是设置后导致cron的时间与系统时间不一致。我的系统cron文件里默认的时区(cat /etc/timezone)是美国东部,其他系统可能也不一致。 建议安装时做个判断
点赞,加油! (0分)
2013-08-31 13:04:47 1
|
amysql |
楼主很细心。
谢谢反馈,已做记录。
回复
2013-08-31 14:48:35 2
AMH面板 - 好用高效低占用、安全可靠极稳定 |