我有一个网站,在本地安装。它的应用程序开发框架是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是否必须禁用主值?如果是这样的话,是怎么做的?
发布于 2010-10-06 04:06:22
你使用的是PHP5.3,因为magic_quotes在PHP5.3中被解压并将被删除。所有改变此ini设置的函数都会抛出错误。
快速解决方案:转到文件系统/core/Kohana.php第98行并注释掉set_magic_quotes_runtime
或者切换到PHP 5.2.10
发布于 2010-10-06 04:03:25
您只需注释掉system/core/Kohana.php中第98行的set_magic_quotes_runtime()调用
发布于 2010-10-06 04:10:01
您可能正在运行PHP 5.3.x。
如果您对php.ini具有写入权限,则可能需要尝试设置error_reporting配置项以隐藏此类E_DEPRECATED警告。
示例(您的里程可能会有所不同...):
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED然而,在开发机器上,您通常想要尽可能多的警告来修复错误或过时的代码。
另请参阅
编辑:
这将修复症状而不是原因(编辑Kohana文件),但就我个人而言,我不喜欢为第三方库打补丁,因为您将不得不为您更新到的每个新版本执行此操作,除非新版本在补丁即将修复的方面有效。
EDIT 2:
要解决此问题,您可以使用ini_set('magic_quotes_runtime', [VALUE])替换set_magic_quotes_runtime([VALUE])。
这可能比仅仅删除调用更安全,因为虽然该函数已被弃用,但如果省略该函数,它仍然可以对软件的行为产生影响(如果安装启用了)。
您可能还想检查是否有更新版本的Kohana,该问题已修复。
然而,注意到,升级框架应该非常小心,并进行扩展测试,以确保事情继续按预期工作。
https://stackoverflow.com/questions/3867194
复制相似问题