При установки CMS Moodle на CentOS, понадобилось установить расширение в php – soap и xmlrpc. Для тех кто не знает, Moodle, эта CMS ориентированная на создания сайтов с направлением обучения: Тесты, уроки, форумы, чаты и т.д. Т.е если вам нужно именно организовать какие-то курсы, то обратите внимание на эту CMS.
Ставим soap.
У меня стоит php 5.6.30, а ранее стоял php 5.4, и при выполнении команды:
1 2 3 |
yum install php-soap |
В итоге возникала следующая ошибка:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Загружены модули: fastestmirror Loading mirror speeds from cached hostfile * base: centos.ip-connect.vn.ua * epel: epel.besthosting.ua * extras: centos.itt-consulting.com * updates: centos.itt-consulting.com * webtatic: sp.repo.webtatic.com Разрешение зависимостей --> Проверка сценария ---> Пакет php-soap.x86_64 0:5.4.16-42.el7 помечен для установки --> Обработка зависимостей: php-common(x86-64) = 5.4.16-42.el7 пакета: php-soap-5.4.16-42.el7.x86_64 --> Проверка сценария ---> Пакет php-common.x86_64 0:5.4.16-42.el7 помечен для установки --> Обработка конфликта: php56w-common-5.6.30-1.w7.x86_64 конфликтует с php-common < 5.6 --> Проверка зависимостей окончена Ошибка: php56w-common conflicts with php-common-5.4.16-42.el7.x86_64 Вы можете попробовать --skip-broken чтобы обойти проблему Вы можете попробовать запустить: rpm -Va --nofiles --nodigest |
А вот этот пакет стал без проблем.
1 2 3 |
yum --assumeyes install php56w-soap |
Далее редактируем php.ini по адресу /etc/php.ini, и добавляем строку:
Для х32
1 2 3 |
extension='/usr/lib/php/modules/soap.so' |
Для х64
1 2 3 |
extension='/usr/lib64/php/modules/soap.so' |
Проверить загрузку модуля можно:
1 2 3 |
php -m | grep -i soap |
Ставим xmlrpc
1 2 3 |
yum install php56w-xmlrpc |
Перегружаем apache
1 2 3 |
service httpd restart |