Blacknc 发表于 2018-03-27 19:05

开发的php扩展出现段错误怎么处理?

我用科大讯飞的SDK做的php扩展,是通过调用科大讯飞的提供的动态库来实现功能的,但是有个问题比较奇怪,当扩展以模块的方式加载到php里面后,运行扩展时常会出现段错误,我检查了很多遍,感觉应该不是我代码的问题,因为当我把调用科大动态库接口的代码注释掉就不会出现段错误; 而当我把扩展和php源代码一起编译安装后,再运行就不会有段错误。
    本想通过查看coredump文件查看原因,但是发现打印出的调用栈全是问号,我的php编译是打开了debug模式的,所以基本可以确定是动态库里出现了段错误,但是另一种情况是我单独编译讯飞的SDK运行是没问题的,不会出现段错误,所以感觉可能是动态库和php兼容的问题,具体什么原因就不得而知了,因为他们不开源,也没办法调试。

   说了这么多,我只是不明白为什么以模块的方式运行偶尔会出现段错误,而和php核心代码一块编译安装就不会出现问题,目前对php的内部实现原理还不太了解,希望有大牛帮忙解惑:roll:

shang2010 发表于 2018-04-14 11:06

刚写代码的时候都是这样,多写写就好
页: [1]
查看完整版本: 开发的php扩展出现段错误怎么处理?