database.php中的Kohana preg_replace错误

问题描述 投票:0回答:2

ErrorException [8192]:preg_replace():不推荐使用/ e修饰符,而是在http://mastersoftwaretechnologies.com/kohana/index.php/user/login上使用preg_replace_callback

php kohana kohana-3 kohana-orm
2个回答
3
投票

这适用于我的kohana-3.2

更换

$column = preg_replace('/"(.+?)"/e', '$this->quote_column("$1")', $column);

$column = preg_replace_callback('/"(.+?)"/', function($m) { return $this->quote_column($m[1]); }, $column);

在文件MODPATH / database / classes / kohana / database.php第525行


0
投票

看起来你正在使用PHP 5.5。如果你想使用preg replace eval,你必须修改它,因为出于安全原因它已被弃用:http://php.net/manual/en/migration55.deprecated.php

使用php 5.5你应该使用preg_replace_callback()

你会在这里找到很好的例子:Replace deprecated preg_replace /e with preg_replace_callback

并告知如何在这里工作:Replace preg_replace() e modifier with preg_replace_callback

只需相应地修改第二个参数即可。

© www.soinside.com 2019 - 2024. All rights reserved.