MAC下-mamp 安装PHP扩展闲谈

注解: mamp版本是4.0以上的版本, 在/Applications/MAMP/bin/php/php7.1.1/下含有include, 如果不含有需要自己新建文件夹为include, 然后从php官网下载对应版本的php放在include里边, 重新编译 如果需要下载, 下载完以后进入下载的文件, 执行./configure. 如果4.0以上版本含有include就不需要从新下载编译了。

以安装memcache为例

下载memcache压缩包

curl -O http://pecl.php.net/get/memcache-2.2.7.tgz;tar xf memcache-2.2.7.tgz;
cd memcache-2.2.7;

生成configure文件

/Applications/MAMP/bin/php/phpXXX/bin/phpize
./configure --with-php-config=/Applications/MAMP/bin/php/phpXXX/bin/php-config (注意,MAC本身装有php5.3,如果不填可能会最后编译失败)

如果提示找不到zlib 请用brew 安装 brew install zlib

./configure --with-php-config=/Applications/MAMP/bin/php/phpXXX/bin/php-config --with-zlib-dir=/usr/local/Cellar/zlib/1.2.8/

如果提示找不到openssl [configure: error: Cannot find OpenSSL's <evp.h>] 请用brew 安装 brew install OpenSSL

./configure --with-php-config=/Applications/MAMP/bin/php/php5.6.40/bin/php-config --with-openssl-dir=/usr/local/Cellar/openssl/1.0.X/

如果没出错直接make && make install

把编译后的memcache.so复制到/Applications/MAMP/bin/php/phpXXX/lib/php/extensions

对应的php.ini添加

如果m1以上的mac启用so文件出现报错
arning: PHP Startup: Unable to load dynamic library 'pcntl' (tried: '/xxxxx/php/ext/xxx.so' (mach-o file, but is an incompatible architecture (have (arm64), need (x86_64))))) in Unknown on line 0
请 转为x86架构执行 Mac 下 arm64 架构可能不兼容
先执行 arch -x86_64 zsh 然后在执行 configure 、 make 等。
已按arm64编译过的文件夹,建议换个新的(重新下载)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容