前言:
pcntl 介紹
pcntl擴展可以支持 PHP 的多線程操作。(非Unix類系統不支持此模塊)
phpize 介紹
phpize 可以用來給 PHP 動態的添加擴展。比如編譯 PHP 時忘記添加某擴展,後來想添加該擴展,即可以使用 phpize 動態的添加該擴展。
本文將介紹如何使用 phpize 給 Mac下的集成環境 MAMP 添加 PHP 的 pcntl 擴展。類 Unix 的環境都可以使用本方法安裝,注意靈活變通。
安裝:
下載和本地 PHP 版本對應的源碼包,地址為:
http://www.php.net/releases/
然後按照如下步驟編譯(演示的是給 MAMP的PHP 5.6.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