Php 禁用magic_quotes_gpc
我有一个网站,本地设置。它的应用程序开发框架是Kohana 我在显示以下内容时出错:Php 禁用magic_quotes_gpc,php,kohana,magic-quotes-gpc,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_run
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}.
local value Off
Master Value On
这个项目的另一位首席开发人员告诉我,在我的php.ini中禁用magic_引号。。
我正在使用MAMP,我已经这么做了
问题仍然很明显。。关于这个错误是由什么引起的,如何避免的,有什么线索吗
另一个需要注意的问题是,在输出phpinfo时,我得到以下信息:
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}.
local value Off
Master Value On
我必须禁用主值吗?如果是,怎么做 您可以在中的第98行注释set\u magic\u quotes\u运行时调用
system/core/Kohana.php您使用的PHP5.3和THEN已在PHP5.3中重新打包,将被删除。所有更改此ini设置的函数都会抛出错误 快速解决方案:转到filesystem/core/Kohana.php第98行,在set\u magic\u quotes\u运行时中注释
或者切换到PHP5.2.10您可能正在运行PHP5.3.x。 如果您对php.ini具有写访问权,您可能希望尝试设置错误报告配置条目以隐藏此类不推荐使用的警告 例如,您的里程可能会有所不同……:
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
然而,在开发机器上,通常需要尽可能多的警告来修复错误或过时的代码
另见
编辑:
这将修复症状,而不是编辑Kohana文件的原因,但就个人而言,我不喜欢修补第三方库,因为每次更新到的新版本都必须这样做,除非新版本在修补程序即将修复的方面起作用
编辑2:
要修复原因,可以将set_magic_quotes_runtime[VALUE]替换为ini_set'magic_quotes_runtime',[VALUE]
这可能比仅仅删除调用更安全,因为虽然该函数已被弃用,但如果PHP安装启用了magic_quotes_运行时,如果忽略该函数,它仍然会对软件的行为产生影响
您可能还想检查一个更新版本的Kohana,该版本已经修复
但是,请注意,升级框架时应格外小心,并进行扩展测试,以确保一切按预期继续工作。感谢您的回复-我想我可以,但我有其他开发人员在处理此项目,必须有其他方法禁用。@Michel禁用什么?你读过你发布的错误消息吗?请不要编辑核心文件,创建一个类扩展并编辑那里的行为。我建议不要这样做。这样的策略终有一天会出现未定义的函数致命错误,通过设置错误报告级别无法恢复该错误。不推荐的电子错误旨在给您准备时间。不要蒙蔽你自己。@Col好吧,如果问题是在框架的核心。。。?根据您提到的警告,在这种非常特殊的情况下,隐藏错误可能是最好的选择。@我知道,这就是为什么我特别说,您希望在开发机器上尽可能多地发出警告来修复此类问题。为了更明确的说明,添加了关于修复症状的说明:当然,框架最好的做法是检查PHP版本,仅在未弃用但对系统正确功能有影响的情况下使用弃用函数,例如启用magic_quotes_gpc的旧PHP版本。此特定错误消息与magic_quotes_gpcSorry无关,应该是神奇的运行时。尽管如此,这些不推荐使用的配置设置的值(其中有几个)决定了PHP脚本的行为,例如是否使用Uniscape,PHP框架通常也支持5.3以外的PHP版本。这是您的问题:函数集\u magic\u quotes\u runtime不推荐请不要编辑核心文件,创建一个类扩展并编辑其中的行为。