Ecshop怎样处理Deprecated: preg

王通教师依据很多实战演练挣钱实例和工作经验编写,它将完全颠复你的挣钱逻辑思维 如今留言板留言,就可以完全免费得到
Ecshop怎样处理Deprecated: preg_replace()出错

近期把一个ecshop程序做的网站迁移到一台php5.5版本号的网络服务器上,因为以前的网站模版做了改动,兼容问题php7,因此挑选应用低版本号的php网络服务器,但是从php5.3.28转到php5.5g還是碰到了难题,出現许多的Deprecated: preg_replace()不正确,如何办?因为自身不做开发设计,但做seo時间還是较为久,这一点相对性来讲還是打不倒我,百度搜索便是最好的教师,你所碰到的绝大多数难题百度搜索上别的网民早已得出了回答,因此要是你用心产找一般都能寻找。


针对报名参加了seo学习培训的学生,你学习培训的目地便是要把网站的重要词seo到百度搜索检索結果,因此和百度搜索相处是务必的,那麼大家就需要非常好的运用百度搜索,了解百度搜索,进而在应用的全过程中小结百度搜索的一些排行规律性,把这种规律性作为大家seo的一个輔助项。费话很少说,我在网站寻找许多条回答,有的仅有一两根有用,有的果断也不有用,这应当在于那时候公布者所应用的网络服务器php版本号与我应用的有差别的缘故吧,总而言之可以把自身碰到难题处理的方式共享出去,这种都应当变成大家的教师。


下边我将ecshop2.7.3对于php5.5版本号出現的不正确处理方式共享出去,以出示给碰到我一样不正确的seo工作人员处理碰到的难题。

Deprecated: preg_replace() 这类的出错数最多,要改动的文档相对路径:


假如你的PHP版本号正好是PHP5.5.X,那么你的ECSHOP毫无疑问便会报相近下边那样的不正确:

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in......


处理方法:


1. Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in \includes\cls_template.php on line 300


原来內容:

return preg_replace( /{([^\}\{]*)}/e , \$this- select( \\1 , $source);


改动后內容:

return preg_replace_callback( /{([^\}\{]*)}/ , function($r) { return $this- select($r[1]); }, $source);


2. Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in \includes\cls_template.php on line 491

原来內容:

$out = ?php . $k = . preg_replace( /(\ \\$[^,] )/e , stripslashes(trim( \\1 , \ , var_export($t, true)) .


改动后內容:

$out = ?php . $k = . preg_replace_callback( /(\ \\$[^,] )/ , function($match){return stripslashes(trim($match[1], \ }, var_export($t, true)) .


3. Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in \includes\cls_template.php on line 550

原来內容:

$val = preg_replace( /\[([^\[\]]*)\]/eis , . .str_replace( $ , \$ , \\1 ) , $val);


改动后內容:

$val = preg_replace_callback( /\[([^\[\]]*)\]/is ,function ($matches) {return . .str_replace( $ , \$ ,$matches[1]);},$val);


4. Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in \includes\cls_template.php on line 1074

原来內容:

$pattern = / !--\s#BeginLibraryItem\s\ \/(.*?)\ \s-- .*? !--\s#EndLibraryItem\s-- /se

$replacement = {include file= .strtolower( \\1 ). }

$source = preg_replace($pattern, $replacement, $source);


改动后內容:

$pattern = / !--\s#BeginLibraryItem\s\ \/(.*?)\ \s-- .*? !--\s#EndLibraryItem\s-- /s

$source = preg_replace_callback($pattern, function($r){return {include file= .strtolower($r[1]). } }, $source);


5. Strict Standards: Only variables should be passed by reference in ...\upload\includes\lib_main.php on line 1329

原来內容:

$ext = end(explode( . , $tmp));


改动后內容:

$extsub = explode( . , $tmp);

$tmp = end($extsub);

$tmp = basename($tmp, .$ext


最终,将不正确改动后,提交到网络服务器.随后进到后台管理,清除缓存文件,更新网页页面就可以。


提议改动前,做文档备份数据,防止止改动不正确造成网页无法访问~




内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://myjzr.com/jingyan/3648.html