我有一个网站,本地设置。它的应用程序开发框架是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
我必须禁用主值吗?如果是这样,怎么样?
答案 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,修复此问题。
但是,请注意,升级框架应该非常小心和扩展测试,以确保事情继续按预期工作。