文档章节

再次遇到的问题:Unable to load dynamic library myext.so: undefined symbol

ifeixiang
 ifeixiang
发布于 2014/10/31 17:48
字数 228
阅读 18
收藏 0

google到了这里

http://stackoverflow.com/questions/7271792/php-warning-php-startup-unable-to-load-dynamic-library-home-lib-so-so-undef 终于解决了!!!

问题是:能编译模块生成so,但php不能加载

PHP Startup: Unable to load dynamic library myext.so: undefined symbol: Z_ADDREF_P(这里是你的函数入口名) in Unknown on line 0

解决方法:在config.m4文件中加入

PHP_SUBST(MYEXT_SHARED_LIBADD)

PHP_ADD_LIBRARY_WITH_PATH(stdc++, "", MYEXT_SHARED_LIBADD)

即整个config.m4文件为编写c++扩展需要加上

PHP_REQUIRE_CXX()
PHP_SUBST(MYEXT_SHARED_LIBADD)
PHP_ADD_LIBRARY_WITH_PATH(stdc++, "", MYEXT_SHARED_LIBADD)
PHP_ADD_LIBRARY(stdc++,EXTRA_LDFLAGS)
PHP_NEW_EXTENSION(myext, myext.cpp, $ext_shared)
感谢google,感谢stackoverflow! 之前以为是低版本的php不支持c++的stl库,还跟着错误提示重写那些函数!但发现改了以后还是提示Line0错误!所以决心去找出这个问题! 做这个扩展花了我整整1个星期的时间!从windows上VC,VS的dll ,再到linux的.so,流程都十分熟悉了,希望能对以后的开发有好处...  

© 著作权归作者所有

ifeixiang
粉丝 16
博文 270
码字总数 99506
作品 0
广州
程序员
私信 提问
phalcon 在ubuntu的安装问题

起因是这个 http://www.oschina.net/question/2320614_227006 当我改成 extension=json.so extension=phalcon.so 后,再次启动出现了这个 PHP Warning: PHP Startup: Unable to load dynamic......

newbear
2015/03/06
1K
3
php event扩展php_sockets_le_socket错误解决

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/event.so' - /usr/lib/php/20131226/event.so: undefined symbol: phpsocketsle_socket in Unknown on l......

co63oc
2016/11/18
70
0
phalcon 在 ubuntu 安装中出现的问题

你好,我 安装 phalcon 出现问题 我的系统是ubuntu 14 这几步骤都对,就是 接下来 ---------------------------------------------------- Build complete. Don't forget to run 'make test'......

newbear
2015/03/06
2.1K
3
robbe 编译完毕,无法加载,friso_dic_get 问题?

系统环境: [root@aboutc ~]# cat /etc/redhat-release CentOS release 6.4 (Final) Friso 1.3 Robbe 1.2 PHP 5.5.4 friso 没有任何问题: [root@aboutc ~]# whereis friso friso: /etc/fri......

ueaner
2013/10/08
383
3
安装rabbitmq过程中的麻烦

公司要用到rabbitmq,在家里尝试安装了下,发现通过yum安装的openssl和erlang还有兼容性问题,比较坑,于是通过源码重装openssl。 问题首先发现于添加用户的时候,通过rabbitmqctl adduser总...

dodomouse
2016/05/08
135
0

没有更多内容

加载失败,请刷新页面

加载更多

windows下cmd常用的命令

windows下常用的命令指示行: windows下 CMD比较常见的命令1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 4. explorer-------打开资源管理器...

WinkJie
26分钟前
1
0
折叠手机适配布局

CSS Grid 设备相关参数 媒体查询 Chrome进行调试,创建相应的模拟机

lilugirl
26分钟前
1
0
Knative Eventing 中如何实现 Registry 事件注册机制

摘要: 在最新的 Knative Eventing 0.6 版本中新增了 Registry 特性, 为什么要增加这个特性, 该特性是如何实现的。针对这些问题,希望通过本篇文章给出答案。 背景 作为事件消费者,之前是...

阿里云云栖社区
30分钟前
0
0
安装 jemalloc for mysql

前言: Jemalloc 是BSD的提供的内存分配管理 安装依赖 $ yum install -y gcc$ yum install autoconf -y 安装 jemalloc $ git clone https://github.com/jemalloc/jemalloc$ cd jema......

Linux_Anna
41分钟前
2
0
linux下ctrl+c中止不了

有一台centos7的服务器,ctrl+c无效,并且tail -f也无效,只能关掉终端或者crtl+z放入后台再删掉,但是ping的时候使用ctrl+c是有效果的。 出现这种情况的原因可能是因为有人要使用ruby安装r...

gaolongquan
54分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部