2014-05-15 30 views
1

我正在使用drupal 7.27版本其中我需要连接到moodle站点及其数据库。所以我用drupal模块moodle_connection将它与moodle站点连接起来。因为它不提供任何结束功能。我安装了另一个名为moodle_views的模块,但不幸的是没有从moodle收到数据。当我调试时,我发现两个站点之间没有建立连接。将drupal站点连接到moodle站点

我在自定义模块中调用了moodle_connector_connect()函数来连接到Moodle。但没有成功。在moodle连接器设置中,我输入以下信息:

Database Type : mysql 

Database Server : localhost 

Database TCP Port : 3306 

Database Name : drupal_moodle ('Name of the moodle database') 

Database Prefix : mdl_ 

Database User : root 

Database Password : (I don't have password for my database user so I kept blank) 

Moodle URL : drupal_moodle (Moodle site url) 

请帮我解决这个问题。

问候

NEHA

回答

0

阅读过的Drupal的模块moodle_connector bug报告,我注意到了有关的Moodle的数据库连接变量的值来一些问题,并与处理错误条件的一些问题。

将此与您提到的空密码结合使用,建议下列行可能是一个问题。

阅读moodle_connector.module,在第51行我注意到一些惰性检查未设置的参数。

// Return false if settings are incomplete. 
if (!$type || !$server || !$port || !$username || !$password || !$database) { 
    return FALSE; 
} 

它看起来像支票!$密码会导致功能moodle_connector_connect()退出,而不是连接到Moodle的数据库,如果任何值没有设置或设置为空。

作为一种解决方法,以及在安全方面正确的方向迈出的一步,您可以创建一个新的MySQL用户,特别授予它必要的权限以允许Drupal读取Moodle DB并设置密码。

我还强烈建议您阅读本手册的MySQL'post installation'部分,该部分建议在root用户帐户上设置密码。在初始安装期间没有root密码很方便,但是存在安全问题。机器上的任何普通用户或可连接到端口3306的附近机器都可以获得对数据库的完全访问权限。

http://dev.mysql.com/doc/refman/5.1/en/postinstallation.html