根据上一篇博文,php调用c#生成的动态库,运行测试时报Fatal error: Class 'COM' not found in XXXXXXXXX

原因是php.ini中未开启COM组件的应用,解决方法

查看php.ini中是否已经开启了com.allow_dcom = true

从php/ext/里面查找一下有没有这个php_com_dotnet.dll这个文件

如果没有网上下载个,一般都会有的吧应该大概可能。。

然后查找这个php.ini里面查找下#extension=php_com_dotnet.dll把前面的#号去掉

如果找不到就复制,手动添加一下

然后输出下phpinfo()

看看有没有com_dotnet 标签中

COM support enabled

DCOM support enabled

.Net support       enabled

表示COM组件开启成功

然后新建一个php文件在里面写上:

$com = new COM('word.application');  (#注意word.application 是电脑中必须有word文档才可以的)

echo $com;

如果没错的话应该会显示    Microsoft Word 说明COM扩展已经安装完成了!

再次运行上次博文中的测试程序,能正常显示“Hello,World”

c#动态库注册和反注册的几个命令

1、添加程序集到全局缓存,以便于在任意位置注册该dll组件
copy SendMail.dll 到 gacutil命令相同的目录
(命令参考目录 C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools,gacutil运行环境版本不限,示例使用NETFX 4.5.1)
执行:gacutil /i SendMailLib.dll
 
 
2、注册组件及类型到注册表
命令行转到regasm对应的目录,这里不需要指定SendMailLib.dll位置,自动从全局缓存获取,
命令参考目录:C:\Windows\Microsoft.NET\Framework64\v4.0.30319 </div><div>    (注意:版本必须根据操作系统选择 x86 / 64bit, 否则注册后无法调用)
执行:
regasm SendMailLib.dll
 
动态库是否注册可在注册表中用CTRL-F查看
 
3、注销组件,并清除相应缓存
regasm SendMailLib.dll /unregister
pause gacutil /u SendMailLib

php调用C#生成的dll(二)的更多相关文章

  1. c++调用matlab生成的Dll动态连接库

    点击打开链接http://download.csdn.net/detail/nuptboyzhb/4228429 c++调用matlab生成的Dll动态连接库 实验平台:   matlab 7.0(R ...

  2. C++调用C#生成的DLL文件的各种问题

    C++调用C#生成的DLL文件: 首先选择建立一个C#的类库,然后再按照需求编写需要的函数 之后,对于C++调用过程需要注意的几点: 1.使用#using <....some.dll>指出 ...

  3. 示例 - 如何在NodeJS中调用SS生成的DLL

    要想在NodeJS中调用SS生成的DLL, 需要借助EdgeJS. EdgeJS: http://tjanczuk.github.io/edge/ 如果你还不知道如何在SS中生成DLL, 请查看: S ...

  4. C#调用Matlab生成的Dll

    问题描述:最近开发需要调用matlab生成的DLL,在New MWNumericArray 对象的时候报错,提示未将对象引用到对象的实例. 问题分析:因为MWArray.dll是Matlab提供的DL ...

  5. #Lua:Lua调用C++生成的DLL库

    Lua调用C++生成的DLL库 本文参考了某大佬的博客,写得十分详细,推荐!!! 需求: 在之前的求解器中添加了Lua库,使得程序可以在Lua脚本中实现自定义函数功能,考虑到未来可能需要与第三方程序库 ...

  6. WPF开发的界面调用C++生成的dll文件

    以引用d1.dll为例. [生成d1.dll] 文件——新建——项目——Visual C++——Win32项目,选择DLL,点击Finish.在d1.cpp中添加代码 #include "s ...

  7. Java採用JNI调用VC++生成的dll(Java与C++交互)

    应项目需求,须要android调用java,java再调用C++实现android一个图片匹配的功能,我们作为java组须要和C++和Android进行交互.以下是java和C++採用JNI的方式进行 ...

  8. Qt Creator调用VS2008生成的DLL注意事项 good

    问题:生成的dll文件QT无法静态/隐式调用 分析:调用的lib库可能是msvc编译的,而我用Qt调用,Qt默认编译器是minGW,两种编译器生成的函数名不一样,所以调用的时候你要用哪个函数,编译结果 ...

  9. WPF调用C++生成的dll文件(示例)

    注:笔者使用的VS版本为2019.1.打开VS2019,选择文件 -> 新建 -> 项目 2.选择项目 新建项目时选择C++“控制台应用”语言:C++平台:Windows项目类型:空项目 ...

随机推荐

  1. day 29 socket 初级版

    # 客户端介绍简单版# import socket# #1买手机# phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #SOCK_STR ...

  2. MySQL:数据类型介绍

    数据类型介绍 一.整数类型(可以添加自增约束条件) 数据类型 存储需要 有符号 无符号 tinyint 1个字节 -2^7~2^7-1 0~2^8 smallint 2个字节 -2^15~2^15-1 ...

  3. ChinaCock让Android App应用不锁屏

    <meta-data android:name="keepScreenOn" android:value="true"> </meta-dat ...

  4. FCC JS基础算法题(7):Chunky Monkey(分割数组)

    题目描述: 把一个数组arr按照指定的数组大小size分割成若干个数组块. 例如:chunk([1,2,3,4],2)=[[1,2],[3,4]]; chunk([1,2,3,4,5],2)=[[1, ...

  5. python 爬虫数据处理字符串时间转换格式方法

    startDate = "2018-10-01"endDate = "2018-10-31" ###字符转化为日期startTime = datetime.da ...

  6. HDU 3130 17多校7 Kolakoski(思维简单)

    Problem Description This is Kolakosiki sequence: 1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1……. This seq ...

  7. 河工大玲珑校赛重现の rqy的键盘

    题目传送门:http://218.28.220.249:50015/JudgeOnline/problem.php?id=1263 1263: rqy的键盘 时间限制: 1 秒  内存限制: 128 ...

  8. ecmall 主从表的4种模型关系

    eccore/model/model.base.php对应关系: 举例:在includes/models goods.model.php 里 因为店铺可以对应多个商品,商品只能对应一个店铺,所以商品B ...

  9. 微软Power BI 每月功能更新系列——11月Power BI 新功能学习

    Power BI Desktop11月产品功能摘要 本月Power BI Desktop 有一个大规模的更新.现在,通常可以使用复合模型在一个模型中将直接查询和导入源组合在一起.UserVoice上的 ...

  10. 【linux基础】CMake如何生成动态链接库文件

    CMakeLists.txt SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/lib) ADD_LIBRARY(filename SHARED ${CURREN ...