dousong2967 2014-01-03 12:16
浏览 28

基于外部库的PHP扩展

I'm trying to write a PHP extension for Apache Kafka in C and it should use librdkafka. So, I compiled and installed kafka client library, and wrote simple extension which includes librdkafka/rdkafka.h and extension is compilig fine with phpize, ./configure, make and make install. But when I try to use extension, I'm getting error:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/2010052 5+lfs/kafka.so' - /usr/lib/php5/20100525+lfs/kafka.so: undefined symbol: rd_kafk a_topic_new in Unknown on line 0

So, basically, I think I didn't include librdkafka properly into extension or something related to linking those two programs.

Here is my code: https://github.com/salebab/phpkafka

librdkafka files are here:

/usr/local/lib/librdkafka.so /usr/local/lib/librdkafka.a

Any help?

  • 写回答

1条回答 默认 最新

  • dqlm80253 2014-06-27 10:42
    关注

    your config.m4 has problem,this is mine, worked for me:

     PHP_ARG_WITH(kafka, for kafka support, 
     Make sure that the comment is aligned:
     [  --with-kafka             Include kafka support])
    
     PHP_ADD_INCLUDE("{path_to_rdkafka}/include")
    
     if test $PHP_KAFKA != "no"; then
      PHP_ADD_LIBRARY_WITH_PATH(rdkafka, {path_to_rdkafka}/lib, KAFKA_SHARED_LIBADD)
      PHP_SUBST(KAFKA_SHARED_LIBADD)
      PHP_NEW_EXTENSION(kafka, kafka.c library.c, $ext_shared)
     fi
    
    评论

报告相同问题?

悬赏问题

  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向