有些項目最初用OneThink做的,而OneThink 默認使用的TP 是3.2.0 的,沒事的時候就想給升級一下,但是直接復制進去的時候,有錯誤,導致OneThink 不能運行,排查后,需要修改兩個地方
1、修改 Application/Common/Conf/tags.php 文件內容修改為
‘app_init’=>array(‘Common\Behavior\InitHookBehavior’);// 原來沒有 Behavior 后綴
2、TP3.2.4 不能自動過濾 數據庫中沒有的字段,修改 ThinkPHP/Library/Think/Model.class.php 文件 _parseOptions 方法,加粗自動在3.2.3中復制
foreach ( $options [‘where’] as $key => $val ) {
$key = trim ( $key );
if (in_array ( $key, $fields, true )) {
if (is_scalar ( $val )) {
$this->_parseType ( $options [‘where’], $key );
}
} elseif (! is_numeric ( $key ) && ‘_’ != substr ( $key, 0, 1 ) && false === strpos ( $key, ‘.’ ) && false === strpos ( $key, ‘(‘ ) && false === strpos ( $key, ‘|’ ) && false === strpos ( $key, ‘&’ )) {
if (! empty ( $this->options [‘strict’] )) {
E ( L ( ‘_ERROR_QUERY_EXPRESS_’ ) . ‘:[‘ . $key . ‘=>’ . $val . ‘]’ );
}
unset ( $options [‘where’] [$key] );
}
}
本文收集于網絡,僅供技術交流使用,本站不擁有所有權,不承擔相關法律責任。如果發現本站有涉嫌抄襲的內容, 歡迎發送郵件至 admin@webse.cn 舉報,一經查實,本站將立刻刪除涉嫌侵權內容,本文鏈接:https://webse.cn/15775.html