PHP调用C#的COM组件

1. 测试的环境

1.1 php5.5(window 64 位)

1.1.1需要开启com支持,在ini中配置:

com.allow_dcom= true

extension=php_com_dotnet.dll

重启服务器

1.2 C#安装vs2013

2. 代码部分

2.1新建类库

 PHP调用C#的COM组件_第1张图片

 

2.2创建类

 PHP调用C#的COM组件_第2张图片

 

2.3配置属性

 PHP调用C#的COM组件_第3张图片

 

 PHP调用C#的COM组件_第4张图片

 PHP调用C#的COM组件_第5张图片

 

记得要ctrl+s 保存

 

2.4代码完善

 PHP调用C#的COM组件_第6张图片

创建一个普通的方法做测试。

2.5生成类库(不要运行,类库是不可以直接运行的没有入口文件)

 PHP调用C#的COM组件_第7张图片

 

2.6查看生成的项目

 PHP调用C#的COM组件_第8张图片

 

2.7配置打包

添加环境变量到path中去(要用到两个注册命令)

C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools; (gacutil 命令要用到)

C:\Windows\Microsoft.NET\Framework64\v4.0.30319(regasm命令要用)

2.8打包

在debug下打开cmd窗口

 PHP调用C#的COM组件_第9张图片

执行如下命令:

gacutil /i LTC.dll

 PHP调用C#的COM组件_第10张图片

添加到全局变量中去:

regasm LTC.dll

 PHP调用C#的COM组件_第11张图片

2.9 php代码测试

 PHP调用C#的COM组件_第12张图片

 

PHP调用C#的COM组件_第13张图片

3. 注意

3.1按照2.8中的没有错误,确实一直都出不来,可能是用的是vs2013自带的tool工具,最开始用的是:

 PHP调用C#的COM组件_第14张图片

里面有一个命令窗口,直接使用也可以出现2.8的效果,显示成功,但是在用PHPnew的时候出错了。

3.1在其他电脑上注册该dll

在没有安装vs2013的电脑上

 PHP调用C#的COM组件_第15张图片

Tools文件夹是gacutil命令,在tools下打开,

先执行第一个打包命令:

gacutil /i ../LTC.dll

然后在ltc目录下打开命令窗口:

RegAsm.exe LTC.dll

注意一定要重启一下Apache

更多精彩
[免费共享资源](http://www.ltchao.top)
http://www.ltchao.top

 

如果觉得我写的还满意,您可以任意打赏。也可加本人QQ:1446028125 备注请加:csdn博客  

                                                    PHP调用C#的COM组件_第16张图片     

 

 

 

 

你可能感兴趣的:(跨语言调用)