Установка PHP Soap на CentOS (BitrixVM)

SOAP (Simple Object Access Protocol) - являє собою простий протокол заснований на XML, дозволяє обмінюватися інформацією між розподіленими додатками. На практиці може використовуватися для різних завдань. Одні з популярних це інтеграція додатків із зовнішніми службами. У моєму випадку було потрібно інтегрувати веб-додаток системою 1C, для отримання актуальної інформації в режимі реального часу з бази даних 1C за запитом користувача на сайті. Насправді SOAP вміє працювати з великою кількістю протоколів прикладного рівня, серед яких SMTP, FTP, HTTP, HTTPS, а так само ін. На перших порах SOAP головним чином призначався для реалізації віддаленого виклику процедур, або як його ще скорочено називають RPC. Сьогодні він використовується довільно, для обміну даними в форматі XML.

Базова конфігурація PHP зазвичай не включає в себе такі модулі, і при спробі звертатися до спеціалізованих класів для роботи з SOAP сервером, доводилося спостерігати повідомлення про помилку, щось на зразок цього:

Fatal error: Class ‘SoapClient’ not found

Це вже половина справи, так як ми вже знаємо, що у нас немає класу SoapClient. Щоб це справа запрацювало, необхідно до інтерпретатора PHP прикрутити модуль Soap Client, який власне і дасть можливість працювати з SOAP.

Тут вам буде потрібно доступ з правами root на сервер, щоб створити необхідні операції. Якщо ви користуєтеся хостингом, де у вас немає таких повноважень, то попросіть адміністраторів хостингу, швидше за все їм не складе великих труднощів виконати ці операції.

У моєму ж випадку використовувалася система CentOS. На ній встановлена традиційна зв'язка LAMP, яку можна зустріти на багатьох інших веб-серверах. Установка проста, і типова для систем CentOS Linux. Отже, ми авторизувалися в системі під root, далі за допомогою менеджера пакетів YUM ми будемо встановлювати php soap.

Встановлюємо пакет php soap

# yum install php-soap

Після виконання команди вам буде показана інформація про пакет, який планується встановити в систему, і вас так само попросять підтвердити початок установки:

Is this ok [y/N]: y

Після введення команди «y», а це говорить про те, що ви підтверджуєте установку, почнеться процедура скачування і установки пакета зі сховищ. Після установки php soap необхідно так само перезапустити веб сервер, в нашому випадку це httpd. Це дозволить веб-сервера довантажити зміни в конфігурації.

Перезагружаем веб-сервер httpd

# service httpd restart

Тепер можна перевірити наявність потрібного нам компонента для роботи з SOAP, щоб переконатися, що він встановлений.

Перевіряємо наявність SOAP в PHP

# php -m | grep -i soap

В результаті виконання команди, ви повинні побачити рядок з написом «soap», це говорить про те, що він вже є. Крім того перевірити його наявність так само можна виконавши звернення до класу модуля з самих скриптів, якщо це не важко, якщо скрипти відпрацьовують, то це означає що бібліотека встановлена.

Повернення до списку