需求
因為本人現(xiàn)在的php7是編譯安裝的刁卜,有些擴展是預先沒有指定的锈锤,現(xiàn)在我這邊缺少pcntl擴展,記錄下本人的安裝過程迈着。其實mac下安裝擴展和linux下差不多。本文只適用已經(jīng)安裝好php的情況
準備
下載源碼:點我打開
編譯安裝:先編譯安裝好邪码,已安裝的再繼續(xù)以下步驟裕菠,安裝pcntl擴展
找到擴展:pcntl擴展一般在源碼的ext目錄下,php-7.1.6/ext/pcntl
步驟
1闭专、模糊查詢要安裝的擴展是否存在
已存在擴展直接測試該擴展是否可用即可奴潘,如果什么都沒有返回,則繼續(xù)第2步
php -m | grep 'pcntl'
效果如圖:
image.png
2影钉、查看php配置文件安裝位置
php -i | grep php.ini
3萤彩、生成配置文件
cd /Users/xiaoming/php-make/php-7.1.6/ext/pcntl //到源碼下的pcntl目錄
/Users/xiaoming/mnmp/php71/bin/phpize //執(zhí)行phpize命令
效果如圖:
image.png
4、指定配置文件
./configure --enable-pcntl --with-php-config=/Users/xiaoming/mnmp/php71/bin/php-config
效果如圖:
image.png
image.png
5斧拍、執(zhí)行make命令
make
make install //安裝完成后會提示最終pcntl.so的路徑
6雀扶、修改配置文件
編輯php配置文件,添加 extension=pcntl.so
vim /Users/xiaoming/mnmp/php71/etc/php.ini
7肆汹、重啟php-fpm
權(quán)限不夠可以加上sudo, 配置了nginx或apache也需要重啟相關(guān)服務
killall php-fpm
php-fpm
8愚墓、測試
php中執(zhí)行pcntl_fork()看能打印出一串數(shù)字且不報錯即可
<?php
echo pcntl_fork(); //20583
問題
其實本人在編譯過程出現(xiàn)過如c編譯器版本問題導致編譯擴展失敗等,下次有時間再補充解決辦法