【发布时间】:2014-08-11 13:23:21
【问题描述】:
ErrorException [8192]:preg_replace():/e 修饰符已弃用,请改用 preg_replace_callback 在 http://mastersoftwaretechnologies.com/kohana/index.php/user/login
【问题讨论】:
标签: php kohana kohana-3 kohana-orm
ErrorException [8192]:preg_replace():/e 修饰符已弃用,请改用 preg_replace_callback 在 http://mastersoftwaretechnologies.com/kohana/index.php/user/login
【问题讨论】:
标签: php kohana kohana-3 kohana-orm
这适用于我的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 行
【讨论】:
看起来您使用的是 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
只需根据您想要对匹配执行的操作修改第二个参数即可。
【讨论】: