繁体   English   中英

无法从其他设备访问 Moodle(用 PHP 编写的系统)

[英]Can't reach Moodle (a system written in PHP) from other devices

第一次安装 Moodle 并使用 WAMP 在 Windows 10 上本地安装它。 我对 Apache 和一般服务器的了解非常有限。 安装成功完成,在我的本地主机上一切正常,但是当我尝试从其他设备(即另一台使用 chrome 的笔记本电脑)访问它时,我将被重定向到“ http://localhost/moodle ”并收到消息“此站点无法访问”虽然我可以在更改其别名文件后访问“MyphpAdmen”页面。 我知道打赌编码,所以我为 Moodle 创建了一个别名文件,从 Myphpadmin 的别名文件中复制了相同的代码,并进行了一些更改,如下所示

Alias /moodle "C:/wamp64/www/moodle/"

<Directory "C:/wamp64/www/moodle/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride all
<ifDefine APACHE24>
    Require all granted
 </ifDefine>
 <ifDefine !APACHE24>
    Order Deny,Allow
 Deny from all
 Allow from localhost ::1 127.0.0.1
 </ifDefine>

  # To import big file you can increase values
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
  </Directory>

它没有用,任何帮助将不胜感激。

请前往 XAMPP-Cotroll 并打开Apache->Config->httpd.conf Config- Apache->Config->httpd.conf并添加

<IfModule mpm_winnt_module>
   ThreadStackSize 8888888
</IfModule>

到最后

参考

如果您希望能够将您的页面提供给所有 IP 地址。 您可以删除这 2 行。

Deny from all
Allow from localhost ::1 127.0.0.1

或者如果你想要更多的安全性,你可以只允许一个范围的 ip

Order Allow,Deny
Deny from all
Allow from 127.0.0.1 ::1
Allow from localhost
Allow from 192.168

作为 192.168,您的网络 ip 的第 2 个括号

参考: https : //httpd.apache.org/docs/2.4/mod/mod_access_compat.html#allow

并记得重新启动 apache 以应用更改。

毕竟这不是许可问题。 我注意到当我从其他设备输入 Moodle 服务器的地址 ( http://1.1.1.1/moodle ) 时,我将被重定向到“ http://localhost/moodle ”,为了解决这个问题,我只需要像这样编辑 Moodle 的 config.php 文件中的一行:

$CFG->wwwroot = 'http://localhost/moodle' ;

对此

$CFG->wwwroot = 'http://1.1.1.1/moodle';

将 1.1.1.1 更改为您服务器的 Ip

此解决方案的来源:英文Moodle

小调整:您可能会在具有不同 IP 范围的不同站点上使用您的服务器,在这种情况下,每次更改服务器 ip 时都必须更新配置文件,因此我编写了这个小代码来自动更新:

$host= gethostname();
$MyIp= gethostbyname($host);
$CFG->wwwroot = 'http://'.$MyIp.'/moodle';

希望它有帮助。谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM