discuz安装就报错的解决办法

几天前,作为技术测试,去discuz官网下载了一个discuz的源码包,解压在自己本地的xampp集成开发环境的根目录下有三个文件夹,然后把upload文件夹里的东西放在根目录下,其他两个可以删除或者重命名一下,开始安装,运行localhost/xxx(xxx是discuz源码的所在的文件夹),discuz安装就报错,报错如下:

Fatal error: Uncaught Error: Call to undefined function set_magic_quotes_runtime() in D:\Web\bbs\install\index.php:12 Stack trace: #0 {main} thrown in D:\Web\bbs\install\index.php on line 12

安装Discuz时出现以上错误,是因为从PHP 5.4开始,set_magic_quotes_runtime()已经被弃用,从PHP 7.0开始set_magic_quotes_runtime()已经被移除,该函数已经不再是PHP内置函数,该函数被弃用并移除是因为magic quotes这一功能被弃用或移除,magic quotes,即魔术引号功能,是PHP 5.3及更早版本中用于自动转义双引号、单引号、反斜线和null特殊字符的

如果在PHP 5.4 – PHP 5.6中调用set_magic_quotes_runtime(),并且没有关闭错误显示,则会报以下错误。

Deprecated: Function set_magic_quotes_runtime() is deprecated in D:\Web\bbs\install\index.php on line 12
Fatal error: set_magic_quotes_runtime(): magic_quotes_runtime is not supported anymore in Unknown on line 0

解决方法:直接将调用函数的代码删除即可,在不支持魔术引号的版本中,即使能够调用函数,调用函数进行的设置也不会生效,而get_magic_quotes_gpc()和get_magic_quotes_runtime()永远返回false.

对于 Discuz! X3.2,即删除install/index.php第12行的以下代码

@set_magic_quotes_runtime(0);

作为补充,有的人说,相应修改php.ini就可以了,例如:你的语句是
set_magic_quotes_runtime(true),那么你就需要在php.ini里面设置:

magic_quotes_runtime = On

如果是false就设置为OFF,PHP.INI里面设置了就不需要set_magic_quotes_runtime语句,能达到相同效果,安装如果还有问题,应该与这个问题无关,另当别论。


我这边给出的方案是:换一个php版本,因为我这边用的xampp中php版本是7.0的,另外我在本地又安装了一个wampp,而这个集成环境里面的php是5.6的,于是我采用wampp方式安装这个discuz程序就不会报错。以上都是自己尝试过的经历,希望对大家有帮助。

未经允许不得转载:哈勃私语 » discuz安装就报错的解决办法

本文共1321个字 创建时间:2017年11月2日16:51   

分享到:更多 ()