оригинальная версия версия для слабовидящих контрастная версия выключить изображения включить изображения RSS FEED K2 NEWS
Вторник, 12 Ноябрь 2019 10:32

Установка moodle на локальный сервер

Давеча столкнулся с таким вопросом, что появилась необходимость установки Moodle (для дальнейшего тестирования системы), у этой системы образования свои требования, в том числе среди расширений PHP.

Устанавливать пытался на XAMPP, как выяснилось – не подходит версия, обновил версию XAMPP.

Скачивал отсюда: XAMPP

Но ближе к результату так и не стал. Поставил OpenServer, столкнулся с теми же ошибками, что и на XAMPP, так же смог их исправить, но видимо не все, поскольку на OpenServer moodle так и не установился.

Ниже будут описаны исправления ошибок, с которыми я столкнулся, но если Вам интересно не капание в ошибках, а уже готовое решение – то рекомендую, скачать вот это: XAMPP+Moodle, там сразу и сервер и установленный Moodle, Вам не придётся заморачиваться, установил и забыл.

Касательно же ошибок, ниже прилагаю скриншот того, что я увидел перед собой:

Как можно заметить, первый пункт вообще к XAMPP отношения никакого не имеет. Для его исправления, необходимо в каталоге, куда было скопировано содержимое архива moodle, открыть файл config.php и строку:

$CFG->dbtype = 'mysqli';

Заменить на:

$CFG->dbtype = 'mariadb';

Теперь по остальным пунктам, «php_extension: intl», для устранения в XAMPP этой ошибки, необходимо, открыть файл php.ini:

..\XAMPP\php\php.ini

Найти строку (у меня 908-я):

;extension=intl

Убрать точку с запятой. Следующий пункт, «php_extension: xmlrpc», добавляем строку(я на 926-й добавил):

extension=php_xmlrpc.dll

Или убираем точку с запятой, если такая строка уже была (рекомендую сначала сделать проверку поиском).

Следующим, по списку идёт soap, найти эту строку:

;extension=soap

Убрать точку с запятой. Последний пункт, потребует несколько больше телодвижений, найдите в php.ini строку:

;opcache.enable=1

И дальше Вам вместо этого кода:

[opcache]
; Determines if Zend OPCache is enabled
;opcache.enable=1

; Determines if Zend OPCache is enabled for the CLI version of PHP
;opcache.enable_cli=0

; The OPcache shared memory storage size.
;opcache.memory_consumption=128

; The amount of memory for interned strings in Mbytes.
;opcache.interned_strings_buffer=8

; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 1000000 are allowed.
;opcache.max_accelerated_files=10000

; The maximum percentage of "wasted" memory until a restart is scheduled.
;opcache.max_wasted_percentage=5

; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
;opcache.use_cwd=1

Будет необходимо вставить этот:

zend_extension=php_opcache.dll
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1

; Determines if Zend OPCache is enabled for the CLI version of PHP
opcache.enable_cli=0

; The OPcache shared memory storage size.
opcache.memory_consumption=128

; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=8

; The maximum number of keys (scripts) in the OPcache hash table.
Only numbers between 200 and 1000000 are allowed.
;opcache.max_accelerated_files=10000

; The maximum percentage of "wasted" memory until a restart is scheduled.
opcache.max_wasted_percentage=5

; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
opcache.use_cwd=1

Кстати, если по какой-то причине, Вас перестал устраивать 3306-й порт для SQL, то замените его следующим образом (например, на 3307-й):

После этих действий, единственное, что останется в качестве «проблемы», это подключение https, однако ошибка не является критической, поэтому я не стал уделять внимание решению этого вопроса.

Спонсоры: