首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试为Rocket U2构建PHP PDO扩展

尝试为Rocket U2构建PHP PDO扩展
EN

Stack Overflow用户
提问于 2013-01-01 19:10:36
回答 2查看 761关注 0票数 22

我想知道有没有人能帮我解决一个让我把头发都拔出来的问题……

我目前正在从事一个项目,该项目需要我与Unidata数据库进行对话。PHP没有本机驱动程序来访问这种类型的数据库,但是,在Googling搜索之后,我发现了以下内容:

https://u2devzone.rocketsoftware.com/accelerate/articles/u2-pdo-driver/u2-pdo-driver

我有U2 Intercall头文件和库,我想我正确地包含了它们。但是,扩展可以编译,但不能通过测试,因为它会错误地输出

代码语言:javascript
复制
pdo_u2.so: undefined symbol: ic_universe_session in Unknown on line 0

对我来说,这表明它与图书馆没有联系。当我编辑makefile并手动指定应该包含该库时,它错误地输出了

代码语言:javascript
复制
relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/home/kaigoh/Downloads/intcall/lib/libuvic.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [pdo_u2.la] Error 1

我尝试在makefile中强制使用-fPIC开关,但得到了相同的错误。

我只是不知道如何编译自定义的PHP扩展来帮助我自己,我希望这里有一位大师可以给我指引正确的方向!

更新:使用32位安装的Linux可以很好地编译,所以不知道为什么64位安装会失败...

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-15 22:16:23

我知道我很久以前就问过这个问题,但我想出的最终解决方案是使用Rocket的.Net库和一些可以读取和处理来自UniData的数据的C#类,用PHP编写一个中间件。

如果有人对我是如何从PHP访问UniData的更多细节感兴趣,请随时给我写信。

票数 2
EN

Stack Overflow用户

发布于 2013-04-05 03:53:41

lib/libuvic.a需要用-fPIC重新编译,而不仅仅是试图链接到它的代码。从您的输出示例中,我无法判断您是否也使用-fPIC重新编译库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14109906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档