php自学小萌新踩了N多坑最后才安装测试成功,分享给大家,希望和我一样的新手看到后能少走弯路。废话不多说了,直接进入正题
一、首先检查系统自带的PHP版本
$ php -v
PHP 7.1.16 (cli) (built: Mar 31 2018 02:59:59) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
上面显示PHP 7.1.6,那么去PHP官网下载对应版本的php-7.1.16.tar.gz的包.
PS: 根据自己系统显示的版本号下载对应的包文件
二、生成pcntl.so文件
下载完成后解压,解压后进入到对应的文件目录
~用户名 $ cd php-7.1.16
~php-7.1.16 $ cd ext/pcntl
~ pcntl $ phpize
执行`phpize`可能会报以下错误(没有错误请忽略):
Cannot find autoconf. Please check your autoconf
installation and the $PHP_AUTOCONF environment
variable. Then, rerun this script.
解决方法:brew install autoconf
~ pcntl $ ./configure
~ pcntl $ make
执行`make`可能会报以下错误pcntl.c: php.h file can not found
解决方法:xcode-select install
ps:不要问我为什么,我也不知道(捂脸.jpg)
执行完成后,在modules
文件夹下面会生成一个pcntl.so
的扩展文件
三、导入pcntl.so文件
Mac OS X 10.11之后系统自带的php扩展文件夹是不能修改的,sudo 777也不行,这个时候我们要自己创建一个扩展文件夹my-php-extension
(文件名可随意,如果你设置的文件名不是my-php-extension
,后面出现my-php-extension
的地方你都要用自己创建的文件夹替换),然后把pcntl.so拷贝过去:
~ pcntl $ mkdir /usr/local/my-php-extension
~ pcntl $ sudo cp ./modules/pcntl.so /usr/local/my-php-extension/
输入密码确定就行
然后进入/ect/
目录,拷贝php.ini.default
重命名为php.ini
,在查看简介里面开启读写权限,接着执行以下操作:
$ sudo echo 'extension= /usr/local/my-php-extension/pcntl.so' >> /ect/php.ini
输入密码确定就行
四、测试是否安装成功
~ pcntl $ php --ri pcntl
pcntl
pcntl support => enabled
至此一切搞定!
五、XAMPP等集成环境安装pcntl扩展
流程和上面基本一致,但是需要用到XAMPP自带的php进行操作,有错误的话可以直接操控上面的解决方法
$ /Applications/XAMPP/xamppfiles/bin/php -v
PHP 5.6.38(cli) (built: Mar 31 2018 02:59:59) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
$ cd php-5.6.38
~php-5.6.38 $ cd ext/pcntl
~ pcntl $ /Applications/XAMPP/xamppfiles/bin/phpize
~ pcntl $ ./configure
~ pcntl $ make
~ pcntl $ sudo cp ./modules/pcntl.so /Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226
ps: no-debug-non-zts-20131226这个文件夹名称每个人都可能不一样,要用自己的
最后在/Applications/XAMPP/xamppfiles/etc/php.ini 增加扩展extension=pcntl.so
这样基本就行了,不放心的话可以再测试下php --ri pcntl