mac安装php模块,Mac 安装pcntl模块

背景使用机器自带的PHP(版本是5.6.30)

2.  按照官方的方法安装(也就是MeepoPS里的链接指向文档)

问题首先明确的是官方的安装流程在最新的Mac系统中是无法安装的

提示需要安装autoconf这个东东

其次是无法将编译后的扩展程序写入PHP默认的扩展包路径

解决办法

还是依照网上高人说的,安装autoconf后再编译(参考地址),按照这里的步骤安装,建议先下载源码再安装(不建议一开始就使用命令模式获取源码)。在安装过程中会出现有错误的提示,无妨直接执行安装到底。

如何确认你是否需要安装autoconf?参考官方安装流程,在编译过程中就会抛出需要安装autocon f的信息。

如果没有这个错误,那么查看在pcntl这个文件夹(就是位于你下载的PHP版本解压执行后里的扩展文件夹内)内是否有modules这个文件夹,文件夹内如果有pcntl.so那么就说明其实你已经编译成功,无需安装其它东西。

【注意】不建议使用这样的命令来完成整个编译 phpize && ./configure && make install,这不利于你(仅有PHP基础的伙伴)发现每一步执行的情况,同时留意每一步执行后的打印信息,这会告诉你目前编译的情况。

其次如果你之前没有折腾过PHP(指没有对Mac中的PHP动过任何手脚),那么我们就需要重新配置一下php.ini,为什么呢?

因为在新的Mac系统中是无法将扩展包直接写入到PHP默认的扩展包文件夹内(这也就是官方安装流程后段无法完成操作的原因),即使你开启root权限也不行,因为PHP默认的路径是放在/usr/lib/php,该文件夹系统默认是不允许写入的,这应该是Mac系统最底层的保护机制导致的吧。Mac的本意是希望用户对系统的操作都放置于/usr/local/里面。所以我们需要对PHP的php.ini做修改。

php.ini文件位于/etc/php.ini.default,也就是系统中并没有php.ini,而只有php.ini.default,我们需要创建一个php.ini(同一目录下),文件里面就写入2行代码:

extension_dir=/usr/local/php/extensions/

extension=pcntl.so

第一个是指定扩展包存放位置 ,路径建议:/usr/local/xxx/php/extensions/  xxxx你自己定,然后依据这个路径创建文件夹(你懂的/usr/local/里面是根本没有预设这些文件夹的)。

第二个一看你就懂了,指定需要使用的扩展模块。

搞定后,使用sudo命令,将编译好的pcntl.so复制到/usr/local/php/extensions/下。重启apache,使用php -m, 你就能查看目前PHP扩展的所有模块(其中也包含了pcntl)。

最后必须要完成编译,就是想方设法获得pcntl.so这个文件,按照官方里说的流程(配合autoconf),是能够实现编译的(下载跟当前PHP版本相同的PHP源码)

配置php.ini,重新指定扩展包路径,将扩展包复制到指定的路径即可

如果你被卡在安装模块这里,希望能帮到你!当然非常希望您能把更好更方便的解决方案告诉我!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值