Не удалось подключиться к базе данных Moodle на локальном компьютере - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь установить существующее приложение Moodle локально для разработки дочерней темы, но после настройки config.php появляется следующее сообщение. Я не могу знать об ошибке. Это мой файл:

<?php
unset($CFG);  // Ignore this line
global $CFG;  // This is necessary here for PHPUnit execution
$CFG = new stdClass();
$CFG->dbtype    = 'mysqli';      // 'mysqli', 'mariadb', 'mysqli', 'mssql', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = '(name)';     // database name, eg moodle
$CFG->dbuser    = '(same as above)';   // your database username
$CFG->dbpass    = '(pass)';   // your database password
$CFG->prefix    = 'pztp_';       // prefix to use for all table names
$CFG->dboptions = array(
    'dbpersist' => false,       // should persistent database connections be
                                //  used? set to 'false' for the most stable
                                //  setting, 'true' can improve performance
                                //  sometimes
    'dbsocket'  => false,       // should connection via UNIX socket be used?
                                //  if you set it to 'true' or custom path
                                //  here set dbhost to 'localhost',
                                //  (please note mysql is always using socket
                                //  if dbhost is 'localhost' - if you need
                                //  local port connection use '127.0.0.1')
    'dbport'    => '3306',          // the TCP port number to use when connecting
                                //  to the server. keep empty string for the
                                //  default port
);
$CFG->wwwroot   = 'http://'.$_SERVER['SERVER_NAME'];
$CFG->dataroot  = 'C:/wamp64/www/example/data';
$CFG->directorypermissions = 02777;
$CFG->admin = 'admin';
require_once(dirname(__FILE__) . '/lib/setup.php'); // Do not edit

dbname, dbuser и dbpass подвергаются цензуре из-за политики конфиденциальности, а также имени приложения, но два первых имеют одно и то же значение и имя папки "root" ( именованный пример) дается в data root path. Я создал этого пользователя и БД в СУБД, назначил пользователю все привилегии для этой БД и импортировал БД. Я использую PHP 7.0.33 (который не может быть обновлен) из-за версии Moodle. Я пробовал использовать XAMPP и WAMP с одинаковым результатом.

Спасибо всем заранее!

1 Ответ

0 голосов
/ 13 апреля 2020

Возможно, попробуйте создать тестовый файл PHP - в папке Moodle root - чтобы проверить соединение, чтобы увидеть, является ли его Moodle или база данных.

<?php

$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname, $dbport);

if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}

echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
...