安装扩展后包undefined symbol: php_msgpack_serialize in Unknown on line 0
zivee opened this issue · comments
装上msgpack扩展后解决
config.m4 对于 msgpack 的判断有问题。。。
我本地不能重现, 你们具体是怎么编译的?
我就是标准的动态 so 编译。
编译的时候不会出错,执行的时候会出错,原因就是你没有 msgpack 扩展,但是 config 认为你有,结果 serializer 就默认使用了 msgpack,但是确实没有,所以一执行就会出错了。
我尝试过,把 config.m4 里有关 msgpack 的判断去掉,就可以了。应该是 config.m4 里的判断条件不够严谨导致的。
是的,编译安装没有任何错误,但没有正常被加载,检查扩张时出现 如 'pup -m'就能看到报错,再安装msgpack扩展就正常了
发自我的 iPad
在 2014年2月25日,14:42,paulgao notifications@github.com 写道:
编译的时候不会出错,执行的时候会出错,原因就是你没有 msgpack 扩展,但是 config 认为你有,结果 serializer 就默热使用 msgpack,但是确实没有,所以执行就会出错了。
我尝试过,把 config.m4 里有关 msgpack 的判断去掉,就可以了。—
Reply to this email directly or view it on GitHub.
@laruence
只要你不安msgpack扩展,然后动态编译yac,config.m4中的 if test "$PHP_MSGPACK" != 'no'
为 true,最后config.h里面的 ENABLE_MSGPACK 为 1,导致yac使用msgpack来进行序列化。
configure的时候可以加上PHP_MSGPACK=no ./configure
,这样就不用装msgpck了。当然装上msgpck也可以解决这个问题。
恩, 我先把那个注释掉.