前書き:
pcntl の紹介
pcntl 拡張機能は、PHP のマルチスレッド操作をサポートできます。 (Unix 以外のシステムはこのモジュールをサポートしていません)
phpize の概要
phpize を使用して、PHP に拡張機能を動的に追加できます。たとえば、PHP をコンパイルするときに拡張機能を追加するのを忘れ、後で拡張機能を追加したい場合は、phpize を使用して拡張機能を動的に追加できます。
この記事では、phpizeを使用して、Mac上の統合環境MAMPにPHPのpcntl拡張機能を追加する方法を紹介します。この方法を使用して Unix に似た環境をインストールできるため、柔軟に対応してください。
インストール:
ローカルの PHP バージョンに対応するソース コード パッケージをダウンロードします。アドレスは次のとおりです:
http://www.php.net/releases/
その後、手順に従ってコンパイルします (デモは PHP です) 5.6 for MAMP) .10 バージョンでは pcntl 拡張機能が追加されています):
$ tar -xzvf php-5.6.10.tar.gz $ mv php-5.6.10 php $ mkdir -p /Applications/MAMP/bin/php/php5.6.10/include $ mv php /Applications/MAMP/bin/php/php5.6.10/include $ cd /Applications/MAMP/bin/php/php5.6.10/include/php $ ./configure $ MACOSX_DEPLOYMENT_TARGET=10.10 $ CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" $ CCFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" $ CXXFLAGS="-arch i386 -arch x86_64 -g -Os -pipe" $ LDFLAGS="-arch i386 -arch x86_64 -bind_at_load" $ export CFLAGS CXXFLAGS LDFLAGS CCFLAGS MACOSX_DEPLOYMENT_TARGET $ cd ext/pcntl $ phpize $ ./configure $ make $ cp modules/pcntl.so /Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/ $ echo "extension=pcntl.so" >> /Applications/MAMP/bin/php/php5.6.10/conf/php.ini $ /Applications/MAMP/bin/php/php5.6.10/bin/php --ri pcntl pcntl pcntl support => enabled
Mac システムで PHP に PCNTL 拡張機能を追加することに関する詳細な記事については、PHP 中国語 Web サイトに注目してください。