美文网首页PHP经验分享
mac 下phpize安装 php扩展

mac 下phpize安装 php扩展

作者: 言十年 | 来源:发表于2017-08-12 13:36 被阅读1855次
源码中的扩展目录

我的php是用hombrew安装的。后来再安装php扩展的时候。遇到了一些小问题。

安装

1.下载对应版本的源码包

我的php版本是7.0.5 。于是去php.net下载对应的版本。

http://php.net/downloads.php页面,右侧有个Old archives。点开找到对版本即可。

2.用phpize安装

解压并cd到/php-7.0.5/ext目录,找到你想安装的扩展。比如mcrypt。cd mcrypt。执行 phpize(sudo /usr/local/Cellar/php70/7.0.5/bin/phpize)的命令。

如果成功显示如下

Configuring for:
PHP Api Version:         20151012
Zend Module Api No:      20151012
Zend Extension Api No:   320151012

然后执行 ./configure

会出现 一个 modules文件夹里面有mcypt.so文件

3.移动.so文件到扩展目录,并修改php.ini

把文件 cp 到 /usr/lib/php/extensions/no-debug-non-zts-20121212/ (你的目录估计给我的不一样)目录下。

在目录/usr/local/etc/php/7.0修改 php.ini 文件。添加 扩展extension=/usr/lib/php/extensions/no-debug-non-zts-20121212/mcrypt.so

重启php-fpm。/usr/local/Cellar/php70/7.0.5/sbin/php70-fpm reload

遇到的问题

1.执行 phpize 时候,出现 /usr/local/Library/ENV/4.3/sed: No such file or directory

解决办法:
vi phpize
找到 SED="/usr/local/Library/ENV/4.3/sed" 改成 SED="/usr/bin/sed" (参考https://segmentfault.com/q/1010000006840064

2.执行sudo /usr/local/Cellar/php70/7.0.5/bin/phpize时候,多了一条报错显示 m4 1.4 or later 。

当你想看看m4是什么鬼,执行 m4的时候,报错(xcrun: error: invalid active developer path (/Library/Developer/Com)
解决办法:安装 xcode-select --install

3.注意./configure的时候,每个扩展依赖不同。比如mcrypt依赖libmcrypt。所以用brew安装libmcrypt。再./configure。视每个扩展具体情况而定。

4.使用 cp,mv,移动到扩展目录时候的权限问题。你发现sudo也不可以。

解决办法:重启电脑,按住Command+R(直到出现苹果标志)进入Recovery Mode(恢复模式) 左上角菜单里找到实用工具 -> 终端 输入csrutil disable回车 重启Mac即可 如果想重新启动SIP机制重复上述步骤改用csrutil enable即可。(抄自https://zhidao.baidu.com/question/652498703776630325.html

  1. 执行phpize 可能会遇到下面的问题

Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

解决办法:brew install autoconf

后续安装其他扩展

安装yaf的时候

报错如下。modules目录下并没有yaf.so (brew install libtool 即可解决这个问题)

creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h
config.status: config.h is unchanged
You have new mail in /var/mail/chenjiang

更新记录 2018.03.25

系统重装后,用的php版本为7.1.4。./configure 完之后需要make 跟 make install。

bogon:mcrypt yanshinian$ sudo make
bogon:mcrypt yanshinian$ ls modules/
mcrypt.la   mcrypt.so
bogon:mcrypt yanshinian$ sudo make install
Installing shared extensions:     /usr/local/Cellar/php71/7.1.14_25/lib/php/extensions/no-debug-non-zts-20160303/
bogon:mcrypt chenjiang$

感兴趣的话可以关注我的公众号——言十年的日常

qrcode_for_gh_20daf6d0ff9e_430 (2).jpg

相关文章

  • mac 下phpize安装 php扩展

    我的php是用hombrew安装的。后来再安装php扩展的时候。遇到了一些小问题。 安装 1.下载对应版本的源码包...

  • PHP redis扩展的安装

    环境 php(phpize php-config必须安装) centos redis扩展(wget) 具体安装

  • php extension

    扩展安装步骤 phpize ./configure --with-php-config=php-config ma...

  • mac下PHP安装扩展phpreids

    mac下PHP安装扩展phpreids 一.mac自带php安装phpredis 二.mac下mamp安装phpr...

  • 使用phpize安装扩展

    phpize: phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块。简单来说就是侦测...

  • swoole 第三课 安装(转载)

    安装 Swoole Swoole扩展是按照PHP标准扩展构建的。使用phpize来生成编译检测脚本,./confi...

  • phpize

    phpize作用 phpize是用来扩展模块的,通过phpize可以建立PHP的外挂模块。 phpize使用 当P...

  • php聊天室(swoole/redis)

    环境Mac OS 10.10php环境 xamppPHP7.0安装swoole/redis扩展安装php扩展php...

  • 【Linux】phpize安装php扩展

    安装各扩展,需要进入php源码目录。安装完成后,重启apache,执行 可以查看扩展是否安装成功。 一.GD扩展 ...

  • PHP通过phpize安装扩展

    php扩展安装 在windows中,只需要将dll文件移动到扩展目录,并在php.ini中引入即可linux中类似...

网友评论

    本文标题:mac 下phpize安装 php扩展

    本文链接:https://www.haomeiwen.com/subject/qyaalxtx.html