当前位置:首页 > 网站建设 > php.ini配置COM组件开启方法,并调用C#封装的.dll文件

php.ini配置COM组件开启方法,并调用C#封装的.dll文件

发表时间:2017-12-20 14:56:31 文章编辑:威云网络 浏览次数 :


1.先到PHP.INI中打开COM选项,com.allow_dcom = true

2.我这里的环境是PHP5.4.7,PHP 5.4.5后,com/dotnet 模块已经成了单独的扩展,所以需要在PHP.ini中配置extension=php_com_dotnet.dll,如果PHP VERSION<5.4.5 则不需要。否则的话,可能就是报错 Fatal error: Class 'COM' not found 了。

配置方法为:只需在扩展列表里添加extension=php_com_dotnet.dll即可

3.另外需要了解的是,COM组件虽然也是DLL扩展,但它不是PHP扩展,所以把Senc.dll拷贝到php/ext 目录,然后在PHP.INI里加载是错误的,PHP也不认识它。


配置完毕后可以测试下,语句为

$word = new COM("word.application") or die("Unable to instanciate Word");

print "Loaded Word, version {$word->Version}n";

上面语句本机必须安装了office才可以

openoffice的为:

$obj = new COM("com.sun.star.ServiceManager") or die("Unable to instanciate Word");


1. 创建一个 C# Class Library ,命名为:HelloWorld

2. 在解决方案资源管理器里选择属性,在点选左边的 "应用程序"(就是第一个tab) , 然后点击 程序集信息按钮 ,在弹出的Dialog中, 必须在底部勾上: 使程序集必须可见!否则 , 这个dll将不能以COM方式访问 .(  也可以在代码中的类声明中写上[ComVisible(true)] , 效果一样,需要增加using System.Runtime.InteropServices;引用)

12193646-7285bb9d66d4459f9fb871d2220d5cea.png

3. 创建强命名签名文件并使用
  使用vs的“Vsitual Studio Tools”-->Vistual Studio .Net命令提示,输入 sn -k d:HelloWorld.snk回车即创建了强命名签名文件
  打开项目的属性,点选左边‘签名’选项卡,勾上为程序集签名,在 强名称密钥文件 下拉框:处选择<浏览> 选择刚才创建的HelloWorld.snk文件

12194214-1e378d28fd9141edb32d04efcf6b15b5.png

别忘了保存哦!

4. 创建类库并编译成.dll文件


5.  最后在服务器端之策.dll文件

QQ截图20171220163050.png

相关文章