MAMP 環境下為 php 添加 pcntl 擴充

來源:互聯網
上載者:User


前言:

pcntl 介紹

pcntl 擴充可以支援 PHP 的多線程操作。(非Unix類系統不支援此模組)

phpize 介紹

phpize 可以用來給 PHP 動態添加擴充。比如編譯 PHP 時忘記添加某擴充,後來想添加該擴充,即可以使用 phpize 動態添加該擴充。

本文將介紹如何使用 phpize 給 Mac下的Integration Environment MAMP 添加 PHP 的 pcntl 擴充。類 Unix 的環境都可以使用本方法安裝,注意靈活變通。

安裝:

下面示範的是給 MAMP的PHP 5.6.10版本添加 pcntl擴充。

下載和本地 PHP 版本對應的源碼包,地址為:

http://www.php.net/releases/
然後按照如下步驟進行編譯:

# 解壓源碼包並初始化目錄
$ 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

# 添加一些標誌來告訴系統怎樣編譯。MAMP PHP已經建成這樣,如果不這樣做,編譯的共用對象將無法工作。
$ 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

# 編譯 pcntl.so 檔案
$ cd ext/pcntl
$ phpize
$ ./configure
$ make

# 將編譯出來的擴充檔案pcntl.so 移動到php的擴充目錄
$ cp modules/pcntl.so /Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/   

# 向php.ini 檔案中添加該擴充
$ echo "extension=pcntl.so" >> /Applications/MAMP/bin/php/php5.6.10/conf/php.ini

# pcntl現在應該已經啟用,要檢查是否安裝成功,只需運行:
$ /Applications/MAMP/bin/php/php5.6.10/bin/php --ri pcntl
pcntl
pcntl support => enabled

如出現以上資訊,則說明該擴充已安裝成功。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.