我已在其中安装了XAMPP和Moodle 2.5。
另外,我还安装了No-ip客户端将其转换为网络服务器。
现在我的问题是,我想让这台服务器从我的内部网和外部都可以访问。
我的config.php
文件的基本网址如下:
$CFG->wwwroot = 'http://172.16.1.1/exam';
$CFG->dataroot = 'H:\\xampp\\moodledata';
$CFG->admin = 'admin';
但不限于本地IP地址,我想用它作为网络服务器从互联网上访问它。请建议我如何设置基本网址,以便从互联网和内部网使用它。
答案 0 :(得分:3)
最简单的解决方案是使用可以从互联网和内部机器访问的域名。
如果失败,Moodle配置文件只是一个PHP文件,所以你可以这样做:
if (access_via_internet()) {
$CFG->wwwroot = WEBROOT_FOR_INTERNET_ACCESS;
} else if (access_via_intranet()) {
$CFG->wwwroot = WEBROOT_FOR_INTRANET_ACCESS;
} else {
throw new Exception("Ye cannae change the laws of physics");
}
function access_via_internet() {
// Do something to detect access via the internet.
// Probably parse $_SERVER['HTTP_HOST']
return (did_we_detect_the_internet() ? true : false);
}
function access_via_intranet() {
// Do something to detect access via the intranet.
// Probably just negate the value of access_via_internet()
return !access_via_internet();
}
另一个选择是依靠用户来找你的服务器地址:
$CFG->wwwroot = $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].'/exam';
如果您允许从不同地址访问,则可能存在一个问题:请勿将Moodle网址复制并粘贴到课程内容中。它很容易忘记,但URLS仅适用于同一路径访问的用户。