【问题标题】:Kohana preg_replace error in database.php [duplicate]database.php中的Kohana preg_replace错误[重复]
【发布时间】: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


    【解决方案1】:

    这适用于我的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 行

    【讨论】:

      【解决方案2】:

      看起来您使用的是 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

      只需根据您想要对匹配执行的操作修改第二个参数即可。

      【讨论】:

        猜你喜欢
        • 2018-02-24
        • 1970-01-01
        • 2015-06-14
        • 1970-01-01
        • 2012-02-11
        • 2010-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多