禁用magic_quotes_gpc

时间:2010-10-05 19:53:17

标签: php kohana magic-quotes-gpc

我有一个网站,本地设置。它的应用程序开发框架是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

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

3 个答案:

答案 0 :(得分:1)

您在PHP 5.3中使用PHP 5.3和magic_quotes,因此将被删除。所有改变此ini设置的函数都会抛出错误。

快速解决方案:转到文件系统/核心/ Kohana.php第98行,然后发表评论set_magic_quotes_runtime

或切换到PHP 5.2.10

答案 1 :(得分:0)

您可以在第98行注释掉set_magic_quotes_runtime()调用 系统/核心/ Kohana.php

答案 2 :(得分:-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安装有{{1} }启用)。

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

但是,请注意,升级框架应该非常小心和扩展测试,以确保事情继续按预期工作。