mac安装php-kafka

发布时间 2023-12-18 17:13:17作者: 黑熊一只

首先,安装文档在: 如何使用PHPSDK接入消息队列Kafka版并收发消息_云消息队列 Kafka 版(ApsaraMQ for Kafka)-阿里云帮助中心 (aliyun.com)

但是按照这个文档,存在一个问题,一直报错:

1 ...
2 checking for rdkafka support... yes, shared
3 checking for librdkafka/rdkafka.h" in default path... not found
4 configure: error: Please reinstall the rdkafka distribution
5 ...

以上是核心报错问题,源于: 

主要在于: librdkafka/rdkafka.h 这个文件找不到。

目前捋一下mac上安装 php-kafka 涉及的两个依赖。

1. c++依赖

brew search librdkafka

然后进行install对应的搜索内容即可,这样c++依赖安装完毕。

2. php依赖

这个ali文档上,推荐使用 pecl install rdkafka

然后开始频频报错,报错内容就是开头提到的内容,此时基本上可以考虑放弃pecl的安装方法了。

先打开pecl的官网: https://pecl.php.net/package/rdkafka

在这个网址下,下载一个taz包,示例操作如下:

1 tar -xvf package.name.taz
2 cd package.name

在这步,进行额外的操作:

1 vim ./configure
2 // 查询 rdkafka

 找到类似的内容,将brew安装librdkafka的路径放入即可,如果不知道的进行: brew info librdkafka进行查询。

完成这步,基本上就是常规操作了。

1 ./configure
2 make 
3 make install

最终会输出 rdkafka.so 的安装位置,然后cp到自己的extension目录即可

1 Installing shared extensions:     /opt/homebrew/Cellar/php/8.3.0/pecl/20230831/

当然也可以指定安装目录, 类似 make PREFIX=/dir

同时mac上的php.ini,查询方法如上: brew info php, 找到对应目录的php.ini,然后搜索extension所在的目录,将上面的 .so cp到所在目录就大功完成了...

完结,撒花,蛋疼...