繁体   English   中英

禁用magic_quotes_gpc

[英]Disabling 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

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

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

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

或切换到PHP 5.2.10

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

您可能正在运行PHP5.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的较新版本。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM