#php #cron #ubuntu-18.04 #moodle #lampp
#php #cron #ubuntu-18.04 #moodle #lampp
Вопрос:
У меня есть сайт Moodle, работающий на localhost. Кажется, все работает нормально, но, похоже, я не могу запустить задание cron. Я продолжаю получать ошибку при попытке запуска sudo -u www-data /usr/bin/php /opt/lampp/htdocs/moodle/admin/cli/cron.php
из командной строки.
!!! <p>Error: Database connection failed</p>
<p>It is possible that the database is overloaded or otherwise not running properly.</p>
<p>The site administrator should also check that the database details have been correctly specified in config.php</p> !!!
Moodle устанавливается в Lampp ( /opt/lampp/htdocs/
), и это мой конфигурационный файл. Мои данные moodle находятся в /var/moodledata
Я сменил пользователя для базы данных, использовал пароль, но ничего не работает.
$CFG->dbtype = 'mariadb';
$CFG->dblibrary = 'native';
$CFG->dbhost = 'localhost';
$CFG->dbname = 'moodle';
$CFG->dbuser = 'root';
$CFG->dbpass = '';
$CFG->prefix = 'mdl_';
$CFG->dboptions = array (
'dbpersist' => 0,
'dbport' => '',
'dbsocket' => '',
'dbcollation' => 'utf8mb4_unicode_ci',
);
$CFG->wwwroot = 'http://localhost/moodle';
$CFG->dataroot = '/var/moodledata';
$CFG->admin = 'admin';
$CFG->directorypermissions = 0777;
Комментарии:
1. То есть вы имеете в виду, что ваш сайт Moodle запущен (вы можете просматривать его, создавать курсы и т. Д.), Но cron не работает из-за ошибки подключения к БД?
2. @Dolfa Да, точно. Я могу создавать курсы, просматривать их и переходить к администрированию сайта и другим вещам. Но всякий раз, когда я пытаюсь настроить задание cron, я получаю эту ошибку в терминале. Но я запускаю moodle на localhost. Я не уверен, имеет ли это значение.
3. Это единственная ошибка? Разве он не жалуется на проблему с разрешениями? (Например, невозможно создать каталог.) В этом случае я бы проверил, работаете ли вы cron.php с тем же пользователем / разрешением, что и фактический веб-сервер. Вы пытались запустить cron.php с помощью sudo?
4. @Dolfa я пытался запустить
sudo
. Кроме того, я изменил права доступа к папке777
на . Я не уверен, что вы имеете в виду под тем же пользователем / разрешением, что и веб-сервер acutal. Кроме того, когда я запускаю/usr/bin/wget http://localhost/moodle/admin/cron.php
, я получаю!!! Sorry, internet access to this page has been disabled by the administrator. !!!
Ответ №1:
Вам нужно снять флажок «Администрирование сайта / Общие / Безопасность / Настройки безопасности сайта / Выполнение Cron только через командную строку» для запуска cron с URL.