Ubuntu20: Установка клиента IBM WebSphere MQ + модуль для php
Если хотите работать с Websphere MQ с ипользованием PHP - это квест.
Установка делается в несколько шагов:
- Скачиваем и устаналиваем WebSphere MQ
- Скачиваем и устанавливаем PHP-MQSERIES (чтобы работать с WebSphere MQ)
Я пробовал собрать тоже самое для MacOS (для MAMP) - не получилось, сам модуль для PHP - не компилируется.
Установка WebSphere MQ
Проходим на https://www-945.ibm.com/support/fixcentral/swg/downloadFixes?parent=ibm~WebSphere&product=ibm/WebSphere/WebSphere+MQ&release=7.5.0.8&platform=All&function=fixId&fixids=7.5.0.8-WS-MQC-LinuxX64&useReleaseAsTarget=true&includeRequisites=1&includeSupersedes=0&downloadMethod=http&login=true
И скачиваем 7.5.0.8 Client install image for WebSphere MQ on Linux X86-64
Чтобы далеко не ходить, вот ссылка на по состоянию на 2022 год:
wget https://ak-delivery04-mul.dhe.ibm.com/sdfdl/v2/sar/CM/WS/06zly/1/Xa.2/Xb.jusyLTSp44S0eZIuphr9nceu78L-EaopWceuAGmXuBaqzF1lbPcU5h70t_U/Xc.CM/WS/06zly/1/7.5.0.8-WS-MQC-LinuxX64.tar.gz/Xd./Xf.LPR.D1VK/Xg.11572581/Xi.habanero/XY.habanero/XZ.B2dHyxmWZrlGDA-lQIjtN806oDQiqKAn/7.5.0.8-WS-MQC-LinuxX64.tar.gz
Последовательность шагов (всё делаю из под root/sudo):
cd ~ mkdir tmp wget https://ak-delivery04-mul.dhe.ibm.com/sdfdl/v2/sar/CM/WS/06zly/1/Xa.2/Xb.jusyLTSp44S0eZIuphr9nceu78L-EaopWceuAGmXuBaqzF1lbPcU5h70t_U/Xc.CM/WS/06zly/1/7.5.0.8-WS-MQC-LinuxX64.tar.gz/Xd./Xf.LPR.D1VK/Xg.11572581/Xi.habanero/XY.habanero/XZ.B2dHyxmWZrlGDA-lQIjtN806oDQiqKAn/7.5.0.8-WS-MQC-LinuxX64.tar.gz
Содержимое скаченного распаковываем в /root/tmp/mqseries
Далее, ставим необходимый минимум:
apt install rpm cd /root/tmp/mqseries ./mqlicense.sh -accept rpm -ivh MQSeriesRuntime-7.5.0-8.x86_64.rpm rpm -ivh MQSeriesClient-7.5.0-8.x86_64.rpm rpm -ivh MQSeriesSDK-7.5.0-8.x86_64.rpm
Теперь надо поставить модуль PHP:
Фишка в том, что стандартный модуль, которых хранится в pecl (на момент написания - v0.15.0) с php8.0 не ставится, а вот если скачать его же с исходников на gitHub - ставится.
cd /root/tmp mkdir php_mqseries cd php_mqseries wget https://github.com/php/pecl-networking-mqseries/archive/refs/heads/master.zip
Распаковываем содержимое в ту же папку, куда скачали, там внутри архива папочка, вот ее содержимое кладем в /root/tmp/php_mqseries
cd /root/tmp/php_mqseries phpize ./configure --with-libdir=lib64 make
Готово, модуль скомпилировался, теперь добавляем его в PHP.
Копируем готовый модуль из /root/tmp/php_mqseries/modules/mqseries.so в папку /usr/lib/php/20200930
nano /etc/php/8.0/cli/php.ini nano /etc/php/8.0/apache2/php.ini
extension=mqseries
Скорректируйте путь до файла php.ini в соответствии с вашей версией PHP