Moodle 安装出现访问空白和open_basedir问题

首先要感谢,使用Moodle 的前辈,写下问题处理的办法

最近需要使用Moodle,安装Moodle,先装XAMPP,后将下载的Moodle解压后拷贝到xampp/htdocs下,访问http://localhost/moodle,开始安装Moodle, 一开始都挺顺,可以当来到配置帐号后,出现访问空白显示,解决办法

http://blog.sina.com.cn/s/blog_4d6ab1180101kzcd.html

(1)在php.ini文件中,

;open_basedir =

这句是注释掉的,改为如下:

open_basedir = "D:\XAMPP"(XAMPP集成安装路径)

open_basedir用来限制网站文件访问路径

(2)在config.php文件中

$CFG->dataroot  = 'D:\\XAMPP\htdocs\\moodle\\moodledata';

moodledata这个文件夹本来在Moodle外,需要将其移动到Moodle内 

这两步处理好后,访问不会空白了,但是出现如下问题:Warning: is_readable(): open_basedir restriction in effect.
File(/db/renamedclasses.php)is not within the allowed path(s):(D:\XAMPP\htdocs)in D:\XAMPP\htdocs\moodle\lib\classes\component.php on line 1236

以为是open_basedir路径问题,改来改去,还是这个问题,最后参考如下帖子

https://blog.****.net/ckshcjhacmsabcbba/article/details/71252789

admin目录下index.php文件里有如下代码段:   if ( (isset($_GET['cache']) and $_GET['cache'] === '0')   ......   } else {$cache = 1;}   这段代码为检测Moodle是否有缓存信息和关键数据保护检测。会根据不同的情况给cache字段赋值。   (1)将这段代码注释或删除掉,使得moodle平台在第一次安装后进入该页面不去考虑cache值的设置,而直接进入平台的主页面。   (2)在目录栏内输入“http://localhost/moodle/index.php?cache=1”。然后对平台进行操作时,数据库和缓存中会有新生成数据的写入。 (我这里直接输入http://localhost/moodle/admin/user.php)  (3)此时再在index.php文件中恢复上述注释或删除的代码段。再次打开Moodle平台时,检测机制会顺利的通过,而不会出现因检测语句冗余而产生的页面重定向循环问题。如图6

Moodle 安装出现访问空白和open_basedir问题
到此Moodle网站能够正常访问,在这里记录一下,希望对需要使用Moodle的后来人,有点参考意义