php cpp,【PHP】libphpcpp.so编译

在本地增加了一个新的php扩展后,遇到依赖的libphpcpp.so没有装上,于是自己来编译安装$ php -v

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/Cellar/php70/7.0.20_12/lib/php/extensions/no-debug-non-zts-20151012/thriftphp.so' - dlopen(/usr/local/Cellar/php70/7.0.20_12/lib/php/extensions/no-debug-non-zts-20151012/thriftphp.so, 9): Library not loaded: libphpcpp.so.2.0

Referenced from: /usr/local/Cellar/php70/7.0.20_12/lib/php/extensions/no-debug-non-zts-20151012/thriftphp.so

Reason: image not found in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/usr/local/Cellar/php70/7.0.20_12/lib/php/extensions/no-debug-non-zts-20151012/thriftphp.so' - dlopen(/usr/local/Cellar/php70/7.0.20_12/lib/php/extensions/no-debug-non-zts-20151012/thriftphp.so, 9): Library not loaded: libphpcpp.so.2.0

Referenced from: /usr/local/Cellar/php70/7.0.20_12/lib/php/extensions/no-debug-non-zts-20151012/thriftphp.so

Reason: image not found in Unknown on line 0

PHP 7.0.20 (cli) (built: Jun 23 2017 07:46:30) ( NTS )

Copyright (c) 1997-2017 The PHP Group

Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

安装步骤:

1、Clone代码库

git clone https://github.com/CopernicaMarketingSoftware/PHP-CPP.git

2、Mac下需要安装XCode,并运行安装组件

3、Mac下修改编译,修改Makefile 119行

LINKER_FLAGS = -shared

修改为

LINKER_FLAGS = -shared -undefined dynamic_lookup

如不修改就进行编译会遇到以下错误

Undefined symbols for architecture x86_64:

"_OnUpdateString", referenced from:

Php::Ini::fill(_zend_ini_entry_def*, int) in ini.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [libphpcpp.so.2.0.0] Error 1

4、修改Makefile 179行

${LINKER} ${PHP_LINKER_FLAGS} -Wl,-soname,libphpcpp.so.$(SONAME) -o $@ ${COMMON_SHARED_OBJECTS} ${PHP_SHARED_OBJECTS}

修改为

${LINKER} ${PHP_LINKER_FLAGS} -Wl,-install_name,libphpcpp.so.$(SONAME) -o $@ ${COMMON_SHARED_OBJECTS} ${PHP_SHARED_OBJECTS}

5、make & make install

等运行成功,再来运行看看php -v,不报错了,搞定。

参考文章:

本博客所有文章如无特别注明均为原创。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值