ThinkPHP 3.2.3 bug 列表(2015-1-15)

下载TP 3.2.3,将本地的TP3.2.2升级。发现一些仍未修复和新的bug(欢迎交流,如需转载,请著名来自 [email protected]):

1)文件 ThinkPHP/Library/Behavior/TokenBuildBehavior.class.php 第47行:

原代码:$tokenValue =  $tokenType(microtime(TRUE)) ;

应改为:$tokenValue = is_callable($tokenType) ? $tokenType(microtime(TRUE)) : md5(microtime(TRUE));

否则会:执行报错!

2)文件:ThinkPHP/Library/Think/Upload/Driver/Bcs/requestcore.class.php 开头:

应该将开头的如下3行 namespace  注释掉,否则会报错重复定义!

use Think\Upload\Driver\Bcs\BCS_RequestCore;
use Think\Upload\Driver\Bcs\BCS_ResponseCore;
use THink\Upload\Driver\Bcs\BCS_RequestCore_Exception;

3)文件:ThinkPHP/Library/Behavior/WriteHtmlCacheBehavior.class.php 应该将 只允HTTP头为 2xx 的时候才保存本地缓存

1筛选条件文件名不为空

2且HTTP头为2xx

应该改为如下:

namespace Behavior;
use Think\Storage;
/**
 * 系统行为扩展:静态缓存写入
 */
class WriteHtmlCacheBehavior
{

    // 行为扩展的执行入口必须是run
    public function run(&$content)
    {
        //2014-11-28 修改 如果有HTTP 4xx 3xx 5xx 头部,禁止存储
        //2014-12-1 修改 对注入的网址 防止生成,例如 /game/lst/SortType/hot/-e8-90-8c-e5-85-94-e7-88-b1-e6-b6-88-e9-99-a4/-e8-bf-9b-e5-87-bb-e7-9a-84-e9-83-a8-e8-90-bd/-e9-a3-8e-e4-ba-91-e5-a4-a9-e4-b8-8b/index.shtml
        if (C('HTML_CACHE_ON') && defined('HTML_FILE_NAME')
            && !preg_match('/Status.*[345]{1}\d{2}/i', implode(' ', headers_list()))
            && !preg_match('/(-[a-z0-9]{2}){3,}/i',HTML_FILE_NAME)
        ) {
            //静态文件写入
            Storage::put(HTML_FILE_NAME, $content, 'html');
        }
    }
}

4)文件:ThinkPHP/Library/Think/Storage/Driver/File.class.php 第45行:

原代码:mkdir($dir,0755,true);

应改为:mkdir($dir,0777,true);

否则会:在部分主机比如WIN VPS下会出现写入权限问题,写入失败。

原创by [email protected]

时间: 2024-11-09 20:59:32

ThinkPHP 3.2.3 bug 列表(2015-1-15)的相关文章

[node 工具] 用 Node.js 将 bugzilla 上的 bug 列表导入到 excel 表格在线版本之一(server 端)

之前写了个 用 Node.js 将 bugzilla 上的 bug 列表导入到 excel 表格里 的 cli 工具虽然可以用,但考虑到一下几点,总觉得需要再做点什么. 界面简陋,我那截图上是在 VSCode 下的 git bash 里使用的,看起来倒还好一些.如果是在 CMD 下使用,不忍直视. 需要使用命令的方式启动,URL 地址还需要添加双引号,体验不好. 需要自行安装 nodejs 环境 因此我将这个工具做成了在线的版本,只要复制个 URL,点击开始,傻瓜操作,多人使用. 1 var e

UloidDWAW 2015.v8.15.1.11236+FluidDRAW1.2油路仿真软件

UloidDWAW 2015.v8.15.1.11236+FluidDRAW1.2油路仿真软件 UloidDWAW 2015.v8.15.1.11236 1DVD油路仿真软件 FluidDRAW1.2(气动回路图设计软件及气路.油路仿真软件,简体中文版 FESTO产品: FESTO-FluidDRAW 4t DC2004.12.20(气动回路图设计软件及气路.油路仿真软件,简体中文版) FESTO-FluidSIM v3.6 Full(气动.液压原理图绘制及气路.油路仿真软件,简体中文版) FE

张珺 2015/07/15 个人文档

姓名 张珺 日期 中蓝公寓蓝芳园D507,2015/07/15 主要工作及心得 今天,我对我们的软件进行了部分的黑盒测试. 遇到的问题 在对软件进行测试的过程中,我发现了我们软件在设计中出现的一些问题,有设计缺陷也要简单的代码错误. 解决方法 对于简单代码错误直接修改,对于设计问题我们通过组内讨论商讨解决办法,再对现有软件进行修改.

陈嘉 2015/07/15 个人文档

姓名 陈嘉 日期 2015/7/15 主要工作及心得 根据老师昨天提出最好使用测试软件进行测试的问题,尝试利用JUnit进行测试. 首先,我从同学那里考来一份eclipse使用JUnit测试的库.放到我们的NetBeans里进行测试,通过修改build path, 增加库等方式都不能成功运行TestCase. 后来我重新下载了JUnit在NetBeans中的插件,经过了很多次尝试终于成功运行. 下一个任务就是编写脚本,考虑到所有待测情况,和待测情的预期结果.进行测试.并在测试过程中发现了一些小问

用Node.js 将bugzilla上的bug列表导入到excel表格里

公司用bugzilla管理产品bug,最近用Node.js做了个东西,方便能够把bug的相关信息导入到excel表格里,好做后续的管理分析. 直接贴代码,写上注释好了.转载请注明出处. var request = require("request") var cheerio = require("cheerio"); var Excel = require('exceljs'); var colors = require("colors"); v

ThinkPHP - 5 - 学习笔记(2015.4.15)

ThinkPHP __construct()和__initialize() 1.__initialize()不是php类中的函数,php类的构造函数只有__construct().2.类的初始化:子类如果有自己的构造函数(__construct()),则调用自己的进行初始化,如果没有,则调用父类的构造函数进行自己的初始化.3.当子类和父类都有__construct()函数的时候,如果要在初始化子类的时候同时调用父类的__constrcut(),则可以在子类中使用parent::__constru

最近的bug列表总结(C++)

最近写了一大段代码,抽象得厉害,容易绕进去,因为写单测的代价很大(借口),所以很多问题到联调的是否才发现. 而且花费了很大的经历才查出来,主要问题有如下几个问题 1. 变量未初始化 具体来说,就是指针之类的,这个是之前遇到的比较多,当前已经很少了,拿出来说是因为这次用上了一个栈上单例(常见的单例,一般是new一个对象)的实现. 因为对其用法理解不深,导致为初始化对象. 2. 绑定端口失败 绑定端口失败后,主线程退出了,然后在启动的线程就core掉了.从core文件分析以为是线程有什么问题,但后来

2015/9/15 Python基础(12):模块和包

模块是用来组织 Python 代码的方法,而包则是用来组织模块的. 当代码量很大时,我们一般会把代码分成几个有组织的代码段,然后每个代码段之间有一定的联系.代码单之间是共享的,所以Python允许调入一个模块,允许使用其他模块的属性利用之前的工作成果,实现代码重用.那些自我包含并且有组织的代码片段就是模块(module),将其他模块中属性附加到你的模块中的操作较导入(import) 模块是逻辑上的说法,而它们在物理层是一个个独立的文件,模块的文件名就是模块的名字加拓展名.py.与其他可以导入类的

IE浏览器几种不兼容问题的处理方法 2015/12/15

不兼容的原因: 一.盒子模型不兼容问题 如何解决: (1)使用严格doctype声明 (2)写两遍宽和高,谷歌等非IE加上!important属性 二.双倍margin bug 在IE情况下: 左浮元素,左margin是定义的两倍 右浮元素,右margin是定义的两倍 如何解决: 加上_display:inline属性 三.3像素margin bug IE: 火狐: