Mac OS XのMAMPにlibmosquitto PHP拡張をインストールする

3264 ワード

MAMPのディレクトリに入り、libmosquitto拡張をインストールするPHPバージョンを選択します.たとえば、次のようにします.
cd/Applications/MAMP/bin/php/php5.3.29/bin
次に./pecl install mosquitto-betaを使用します. 
*注意:デフォルトでは./pecl install mosquittoを使用して、現在のmosquittoの最新のstableバージョンを表示します.例:
./pecl install mosquitto
Failed to download pecl/mosquitto within preferred state "stable", latest release is version 0.3.0, stability "beta", use "channel://pecl.php.net/mosquitto-0.3.0" to install

インストールがうまくいけばmosquitto.soは /Applications/MAP/bin/php/php 5.3.29/lib/php/extensions/no-debug-non-zts-20090626.そしてphp.iniに
extension=mosquitto.so

httpを再起動すればいいです.
しかし、インストール時にいくつかの状況が発生しました.以下のようにリストされています.
1.autoconfが存在しない
./pecl install mosquitto-beta
downloading Mosquitto-0.3.0.tgz ...
Starting to download Mosquitto-0.3.0.tgz (25,395 bytes)
.........done: 25,395 bytes
5 source files, building
running: phpize
grep: /Applications/MAMP/bin/php/php5.3.29/include/php/main/php.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.3.29/include/php/Zend/zend_modules.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.3.29/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

ERROR: `phpize' failed

ホームbrewをインストールしたので、直接brew install autoconfでこの問題を解決することに成功しました.
2.php.hなどのヘッダファイルが見つからない
上のログにはphpize実行のエラーも含まれています.
running: phpize
grep: /Applications/MAMP/bin/php/php5.3.29/include/php/main/php.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.3.29/include/php/Zend/zend_modules.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.3.29/include/php/Zend/zend_extensions.h: No such file or directory

この問題はPECLによるものです 現在のMAMPのphpバージョンディレクトリのincludeには、対応するphpヘッダファイルが見つかりません.この問題を解決する前提はXCodeをインストールすることであり、XcodeのSDKにはPHPの関連ヘッダファイルが含まれているため、php 5.3.29ディレクトリの下に入って、XcodeのPHP SDKを指すソフトリンクを作成することができる.
cd /Applications/MAMP/bin/php/php5.3.29
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/ include

その後pecl install mosquitto-betaを再実行するとインストールに成功しました.