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网站能够正常访问,在这里记录一下,希望对需要使用Moodle的后来人,有点参考意义