下载TP 3.2.3,将本地的TP3.2.2升级。发现一些仍未修复和新的bug(欢迎交流,如需转载,请著名来自 default.fu@foxmail.com):
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 default.fu@foxmail.com
ThinkPHP 3.2.3 bug 列表(2015-1-15)
原文地址:http://blog.csdn.net/default7/article/details/42741305