現(xiàn)如今有運行在php5.5版本環(huán)境的ecshop就會發(fā)現(xiàn)一些報錯,而且很多空間商也不知道怎么解決,而這并不是php空間的問題。
現(xiàn)在給大家講解一下報錯及解決方法報錯:preg_replace_callback Requires argument 2, ‘Array’, to be a valid callback
這個報錯就是提示:第二個參數(shù)不能為數(shù)組,只是一個回調(diào),該如何解決呢?首先要找到這個調(diào)用的地方,如下:
return preg_replace_callback($pattern, $replace, $source);
修改為:
return preg_replace_callback($pattern,
function ($m){
return $this->call_back($m[1]);
}
$source);
再定義“call_back”回調(diào)方法,即可
function call_back($matches){
return $matches[1].($matches[2]+1);
}
問題:
preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
其中有段代碼:
return preg_replace("/{([^/}/{/n]*)}/e", "/$this->select('//1');", $source)
此問題是以為php 5.5以上版本拋棄了“preg_replace()”中的 “/e”其實刪除掉“/e”即可解決,如下:
return preg_replace("/{([^/}/{/n]*)}/","/$this->select('//1');", $source);
|
新聞熱點
疑難解答
圖片精選