PHP在linux下如何调用.dll文件问题。

MMDD0827 2011-06-17 01:30:52
RT, 现在在windows下面有一个别人编写的dll文件 ,a.dll。
我现在在linux环境下编写一个项目,其中a.dll里边有我需要的东西。 请问大家我应该如何来做 ,才能调用到它里边的东西呢 ?
...全文
587 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
MMDD0827 2011-06-30
  • 打赏
  • 举报
回复
我们头说啦 ,回头再编译一份.so的动态链接库让我用……
结贴啦~
MMDD0827 2011-06-20
  • 打赏
  • 举报
回复
谢谢大家啦~~ ,这两天我们头就回来啦~ 等他回来,看看怎么解决这个问题, 到时候解决啦,我会把解决方法贴出来的~~
xuzuning 2011-06-17
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 mmdd0827 的回复:]
我问过啦 ,他那个dll是用C#写的,然后他好像不会编译成.so文件的形式…… 请问大家有什么办法吗?
[/Quote]
那就是 com 方式的了,搜索了一下还是可以使用的。你看下这个搜索
http://www.google.com.hk/search?q=linux+dcom&hl=zh-CN&newwindow=1&safe=strict&rls=com.microsoft:zh-cn:IE-SearchBox&rlz=1I7BJYT_zh-CN&prmd=ivns&ei=zwT7Tf_rCIf2vwOglOisAw&start=10&sa=N&biw=1002&bih=647
MMDD0827 2011-06-17
  • 打赏
  • 举报
回复
不是吧…… 那岂不是我的项目没法进行了啊…… 难道只能另外搞个相同功能的而且能在linux下用的动态链接库文件了 ?
黄袍披身 2011-06-17
  • 打赏
  • 举报
回复
别折腾了,如果是win32下编译出来的dll 没办法弄的.如果开发的作者也不知道怎么编译成SO扩展那就省省吧.
liulizhi 2011-06-17
  • 打赏
  • 举报
回复
php 只可以在windows 版本下的才可以使用a.dll文件系统的。。。

你可以换成windows 系统做服务器吧,或者就是把源代码

http://www.linuxforums.org/forum/coffee-lounge/37811-does-linux-use-dlls.html
MMDD0827 2011-06-17
  • 打赏
  • 举报
回复
我问过啦 ,他那个dll是用C#写的,然后他好像不会编译成.so文件的形式…… 请问大家有什么办法吗?
MMDD0827 2011-06-17
  • 打赏
  • 举报
回复
应该是常规dll吧…… 因为他说了不是com做的…… 好像是什么C#做的, 我也没听明白。我对dll不是很了解,能不能说下什么是常规dll 、com dll、php dll呢?
xuzuning 2011-06-17
  • 打赏
  • 举报
回复
首先要确认一下:你的这个 dll 在 Windows 下是如何使用的?是常规的 dll 还是 com dll?还是 php dll?
床上等您 2011-06-17
  • 打赏
  • 举报
回复
只需要编译这个扩展就行了,放到指定的目录,再配置一下就行了。。。

除了编译,其它的比写代码还简单。
MMDD0827 2011-06-17
  • 打赏
  • 举报
回复
那样用不用把.so文件放到php的扩展库里啊? 如果用的话, 那岂不是php还得重新编译一下吗 ?
床上等您 2011-06-17
  • 打赏
  • 举报
回复
编译后就简单了,就像你现在打开某个扩展一样。
MMDD0827 2011-06-17
  • 打赏
  • 举报
回复
请问重新编译麻烦吗? 我还得找做这个dll的那个人。。。
还有编译后,我应该怎样用php来调用它啊? 以前没接触过这玩意…… 囧……
谢谢大家啦~~
骄傲青蛙 2011-06-17
  • 打赏
  • 举报
回复
当然重新编译是上策
骄傲青蛙 2011-06-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mmdd0827 的回复:]

2L方法不行嘛, 啥都读不出来啊……
1L 难得只能重新编译一下 ,编译成.so格式的吗?(不考虑linux下安装其他中间过渡软件。。。)
[/Quote]

不是有个叫winme什么的, 能执行dll的吗, 在linux下
MMDD0827 2011-06-17
  • 打赏
  • 举报
回复
2L方法不行嘛, 啥都读不出来啊……
1L 难得只能重新编译一下 ,编译成.so格式的吗?(不考虑linux下安装其他中间过渡软件。。。)
一起混吧 2011-06-17
  • 打赏
  • 举报
回复
$con=file_get_contents('a.dll');
echo $con;

或者:
$file=fopen("a.dll","r");
$c=fread($file,filesize($file));
echo $c;
fclose($file);
床上等您 2011-06-17
  • 打赏
  • 举报
回复
正常来说,是编译成so做扩展。

正常dll是在win下的,so可以在linux和win

linux下默认是不支付dll的,但现在己经开发了一个中间件,让linux可以跑win下的软件
但缺点非常明显,稳定性差,效率非常低下。

建议找到源码重新编译成so吧。

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧