ausheng

mac mamp workerman环境搭建,安装pcntl扩展

本人开发平台是mac,使用的是mamp集成化的环境工具,最近为了socket编程,选择了php的workerman,在工作之前我们需要安装workerman的依赖环境,目前我们知道mac电脑是自带PHP的,然而mamp自己也给集成了php,一般为了方便使用,我们会使用mamp自带的php,而忽略mac自带的php,所有我们需要将默认的php由原先系统的指向mamp的php

1.修改bash_profile文件切换Mac默认PHP版本为MAMP

把mac上的默认php修改为MAMP等扩展环境中的php 版本,也就是不使用 mac 自带的。步骤如下:
打开terminal。输入locate ~/.bash_profile, 找到我们需要编辑的文件的路径。
cd 到该目录下执行sudo vim ~/.bash_profile,这个文件也有可能没有,如果没有就新建一个。
在vim中打开或新建好该文件后在文件末尾添加
export PATH=”/Applications/MAMP/bin/php/php7.2.8/bin:$PATH”
注:“=”号之后,“:”号之前的路径就是你要修改成的php的路径,我这里选取的是MAMP中自带的7.2.8/版本。
保存后运行: source ~/.bash_profile,可能会报错,不用管。
就大功告成了,接着我们验证一下,另开terminal,输入which PHP,有没有发现默认php的路径已经修改好了呢。接下来就可以正常使用了,如果还不行,重启电脑就可以了。

2.关于workerman的扩展安装

我们通过以下命令可以检测workerman扩展是否满足

curl -Ss http://www.workerman.net/check.php | php

目前我的环境是已经安装好了,不出意外的话您的第二行pcntl扩展是没有安装的,下面我来教你如何安装pcntl扩展

1.我们需要去官网下载对应的php版本替换mamp自带的版本,mamp自带很多版本的,没有必要都下载,一般我会使用mamp自带的最新的版本,我的版本是7.2.8,我就会去官网找到对应的版本
地址为:
http://www.php.net/releases/

2.我们需要将下载的版本解压退换掉mamp的PHP版本,命令如下,你也可以不用命令,自己解压,手动移动到对应的文件夹替换即可

$ tar -xzvf php-7.2.8.tar.gz
$ mv php-7.2.8 php
$ mkdir -p /Applications/MAMP/bin/php/php7.2.8/include
$ mv php /Applications/MAMP/bin/php/php7.2.8/include

3.检测系统配置

$ cd /Applications/MAMP/bin/php/php7.2.8/include/php
$ ./configure

如果你没有出错,那恭喜你了,我这边是有出错的,如下图

这时候更换下configure命令由./configure改为./configure –without-iconv得已解决

4.编译 pcntl.so 文件(这是我们的关键)

$ cd ext/pcntl
$ phpize
$ ./configure
$ make

这样不出意外你是已经编译成功了

5.将编译出来的扩展文件pcntl.so 移动到php的扩展目录

$ cp modules/pcntl.so /Applications/MAMP/bin/php/php7.2.8/lib/php/extensions/no-debug-non-zts-20170712/   

注意 no-debug-non-zts-20170712/每个人是不一样的,你查看下你的文件夹名字是什么,替换即可,或者你手动复制过去即可

6.向php.ini 文件中添加该扩展(关键)

$ echo "extension=pcntl.so" >> /Applications/MAMP/bin/php/php7.2.8/conf/php.ini

7.检测环境是否ok

$ /Applications/MAMP/bin/php/php7.2.8/bin/php --ri pcntl
pcntl
pcntl support => enabled

如出现以上信息,则说明该扩展已安装成功。

PHP动态编译出现Cannot find autoconf的解决方法

wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
tar -zvxf m4-1.4.9.tar.gz
cd m4-1.4.9/
./configure && make && make install
cd ../
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
tar -zvxf autoconf-2.62.tar.gz
cd autoconf-2.62/
./configure && make && make install

ausheng

爱生活,爱编程

Add comment

AUSHENG – BLOG

不要害羞,保持联系。我们喜欢结识有趣的人,结交新朋友。