CentOS6 (PHP5.3.3)環境でmosquittoとmosquitto-phpを動かす

いまさらとは思うですが、必要になったので・・・。

CentOS6の標準のリポジトリにはmosquittoなどは入っていないので、別のリポジトリを使えるようにします。

sudo rpm --import http://wiki.psychotic.ninja/RPM-GPG-KEY-psychotic
sudo rpm -ivh http://packages.psychotic.ninja/6/base/x86_64/RPMS/psychotic-release-1.0.0-1.el6.psychotic.noarch.rpm

mosquittoと、mosquitto-develをインストールします。

sudo yum --enablerepo psychotic install mosquitto mosquitto-devel

次に、mosquitto-phpをインストールしますが、PHP5.3.3環境だとスムーズに行かないので、ソースからビルドします。(PHPのバージョンを上げようというツッコミはさておき)

wget https://github.com/mgdm/Mosquitto-PHP/archive/master.zip
mv master.zip Mosquitto-PHP.zip
unzip Mosquitto-PHP.zip
cd Mosquitto-PHP-master/

PHP5.3.3環境ではソースを少しだけイジります。mosquitto.cとmosquitto_message.cの2つのファイルの先頭に、下記のコードを追記します。

#ifndef PHP_FE_END
#define PHP_FE_END {NULL, NULL, NULL}
#endif PHP_FE_END

あとは下記のとおりビルドして、インストール。

sudo yum install php-devel
phpize
./configure --with-mosquitto=/usr/lib64/libmosquitto.so
make
sudo make install

これで、/usr/lib64/php/modules/にmosquitto.soがインストールされるので、/etc/php.iniの適当な場所に下記を追記します。

extension=mosquitto.so

最後に、Apacheを再起動しましょう。

参考

こちらの記事を参考にしました。

https://yoya.hatenadiary.jp/entry/20130501/php

この記事を書いた人

井上 研一

株式会社ビビンコ代表取締役、ITエンジニア/経済産業省推進資格ITコーディネータ。AI・IoTに強いITコーディネータとして活動。画像認識モデルを活用したアプリや、生成AIを業務に組み込むためのサービス「Gen2Go」の開発などを行っている。近著に「使ってわかった AWSのAI」、「ワトソンで体感する人工知能」。日本全国でセミナー・研修講師としての登壇も多数。