2015-06-15 3 views
3

Я пытаюсь настроить moodle и работать с проблемой соединения. См. Ниже конфигурацию:Ошибка подключения базы данных Moodle

<?php // Moodle configuration file 

unset($CFG); 
global $CFG; 
$CFG = new stdClass(); 

$CFG->dbtype = 'mysqli'; 
$CFG->dblibrary = 'native'; 
$CFG->dbhost = 'localhost'; 
$CFG->dbname = 'gs_vle'; 
$CFG->dbuser = 'root'; 
$CFG->dbpass = 'root'; 
$CFG->prefix = 'mdl_'; 
$CFG->dboptions = array (
'dbpersist' => 0, 
'dbport' => '', 
'dbsocket' => '', 
); 

$CFG->wwwroot = 'http://localhost/~ryanme/work/vle/'; 
$CFG->dataroot = '/Users/ryanme/sites/work/moodledata'; 
$CFG->admin  = 'admin'; 

$CFG->directorypermissions = 0777; 

require_once(dirname(__FILE__) . '/lib/setup.php'); 

Я получаю ошибку подключения к базе данных. Смотрите ошибку ниже:

Error: Database connection failed 

It is possible that the database is overloaded or otherwise not running properly. 

The site administrator should also check that the database details have been correctly specified in config.php 

Warning: mysqli::mysqli(): (HY000/2002): No such file or directory in /Users/ryanme/Sites/work/vle/lib/dml/mysqli_native_moodle_database.php on line 79 

вещей я делал

  • зарегестрированн суперпользователя через терминал и проверил я могу увидеть базу данных с show databases;. Это прекрасно работает.
  • Проверьте правильность настроек снова и снова.
  • По сравнению с конфигурационным файлом для настройки команд, и это почти то же самое.
  • Убедитесь, что модуль mysqli включен для PHP. Это.

Что я могу сделать, чтобы выяснить, что вызывает ошибку подключения к базе данных?

+0

- тип данных на самом деле mysqli? это верно? – brandelizer

+0

Как это проверить? Я бы предположил, что это значение по умолчанию для mysql. –

+0

можете ли вы загрузить свой wwwroot в браузере? он должен быть местом назначения index.php – brandelizer

ответ

1

После завершения расследования. Я обнаружил, что это произошло из-за того, что «mysql на OS X получает места в нужном файле sock немного неправильно». Как только я создал символические ссылки, необходимые для файла mysql sock, все сработало.

См. linked вопрос для подробностей.

0

У меня была такая же проблема. Чтобы решить эту проблему, я вместо имени локального сервера вместо имени local вместо имени localhost

$CFG->dbhost = '<name-of-the-server>';

Смежные вопросы