0

我有一个站点,本地设置。它的应用程序开发框架是Kohana。

我有一个错误显示以下内容:

Unknown Error

An error was detected which prevented the loading of this page. If this problem persists, please contact the website administrator.

system/core/Kohana.php [98]:

Function set_magic_quotes_runtime() is deprecated
Stack Trace

    * system/core/Kohana.php [98]:

      set_magic_quotes_runtime(  )

    * system/core/Bootstrap.php [39]:

      Kohana::setup(  )

    * index.php [130]:

      require( system/core/Bootstrap.php )

Loaded in {execution_time} seconds, using {memory_usage} of memory. Generated by Kohana v{kohana_version}.

该项目的另一位首席开发人员告诉我,在我的 php.ini 中禁用 magic_quotes ..
我正在使用 MAMP,我已经这样做了。

问题仍然很明显..有关此错误是由什么引起的任何线索,如何解决?

另一个需要注意的快速事项,输出时phpinfo(),我得到以下信息:

local value Off
Master Value On

我必须禁用主值吗?如果是这样,怎么做?

4

3 回答 3

1

您使用 PHP 5.3 并且由于magic_quotes在 PHP 5.3 中被删除并将被删除。所有更改此 ini 设置的函数都会引发错误。

快速解决方案:转到文件 system/core/Kohana.php 第 98 行并注释掉 set_magic_quotes_runtime

或切换到 PHP 5.2.10

于 2010-10-05T20:06:22.110 回答
0

您可以在 system/core/Kohana.php 的第 98 行注释掉 set_magic_quotes_runtime() 调用

于 2010-10-05T20:03:24.957 回答
-2

您可能正在运行 PHP 5.3.x。
如果您对您的 具有写入权限php.ini,则可能需要尝试设置error_reporting配置条目以隐藏此类E_DEPRECATED警告。

示例(您的里程可能会有所不同......):

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

然而,在开发机器上,您通常需要尽可能多的警告来修复错误或过时的代码。

也可以看看

编辑:
这将解决症状而不是原因(编辑 Kohana 文件),但就个人而言,我不喜欢修补第三方库,因为您必须为您更新到的每个新版本都这样做,除非新版本有效在补丁即将修复的方面。

编辑 2:
要解决此问题,您可以替换set_magic_quotes_runtime([VALUE])ini_set('magic_quotes_runtime', [VALUE]).

这可能比仅仅删除调用更安全,因为虽然该函数已被弃用,但如果省略(如果 PHP 安装已启用) ,它仍然会对软件的行为产生影响。magic_quotes_runtime

您可能还想检查已修复此问题的较新版本的 Kohana。

但是请注意,升级框架时应格外小心并进行扩展测试,以确保事情继续按预期工作。

于 2010-10-05T20:10:00.510 回答