PHP 和 COM


Posted in PHP onOctober 09, 2006

PHP 可以操作 Win32 平台下的 COM 和 DCOM 对象 1. 我创建了一个DLL来计算一些东西. 有什么方法可以在 PHP 下运行这个DLL吗 ? 2. 'Unsupported variant type: xxxx (0xxxxx)' 是什么意思 ? 3. PHP 里操作可视化对象可能吗? 4. 我可以把COM 对象存诸到 session里吗 ? 5. 我怎样捕获 COM 错误 ? 6. 我怎样在 PHP 里生成DLL文件,就象我在 Perl 里做的一样? 7. 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' 是什么意思 ? 8. 我怎样从远程服务器运行 COM 对象? 9. 我得到消息: 'DCOM is disabled in C:\path...\scriptname.php on line 6', 我应该怎么办 ? 10. 在 PHP页面里可以加载 ActiveX 对象吗 ? 11. 可不可以得到一个COM运行时的实例 ? 12. 有没有办法可以处理从 COM 对象送出的事件 ? 13. 我在调用一个 COM 对象(有多个接口)的方法时出错, . 我应该怎么办? 14. PHP 可以 COM工作, 那么 COM+呢 ? 15. PHP 可以操作 COM 对象, 我们是否可以设想通过 MTS 管理组件资源, 从而管理 PHP ?
1. 我创建了一个DLL来计算一些东西. 有什么方法可以在 PHP 下运行这个DLL吗 ?
你不能在PHP里操作简单的DLL.如果这个DLL包含COM服务器并实现了 IDispatch 接口,你可以操作它.
2. 'Unsupported variant type: xxxx (0xxxxx)' 是什么意思 ?
有很多 VARIANT 类型和它们的集合. 绝大多数已经被支持,可是还有少数不支持.数组也不完全支持,只有一维数组才被支持. 如果你还发现不支持的数据类型:请送 bug 报告(如果还没有报告) 并且提供尽可能多的信息.
3. PHP 里操作可视化对象可能吗?
通常是可以的.但是 PHP 多是用来作为脚本运行在web 服务器设备下, 而可视化对象从来不会出现在服务器桌面. 如果你使用PHP 作为应用程序脚本如 PHP-GTK ,那么通过 COM操作可视化对象是没有限制的.
4. 我可以把COM 对象存诸到 session里吗 ?
不可以. COM 实例被认为是资源.因此它们只能在单一的脚本程序里起作用.
5. 我怎样捕获 COM 错误 ?
当前没有其它工具可以追踪 COM 错误,除了 PHP 自已 (@, track_errors, ..), 我们正在考虑实现它的一种方法.
6. 我可以在 PHP 里生成DLL文件,就象我在 Perl 里做的一样?
不可以.不幸的是没有任何这样的PHP工具.
7. 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' 是什么意思 ?
这个错误有多方面的原因:

CLSID号是错误的
找不到COM所在的DLL
组件没有实现 IDispatch 接口

8. 我怎样从远程服务器运行 COM 对象 ?
就象你运行本地对象一样. 你仅仅需要把远程的IP地址作为第二个参数传给 COM 构造器.
还要确认你的 php.ini文件里com.allow_dcom=true .
9. 我得到消息: 'DCOM is disabled in C:\path...\scriptname.php on line 6', 我应该怎么办 ?
编辑 php.ini文件,设置 com.allow_dcom=true.
10. 在 PHP页面里可以加载 ActiveX 对象吗 ?
这应该与PHP无关. ActiveX 是客户端对象 ,由HTML 页面调用. 和 PHP 脚本没有直接关系. 当然,也没有直接的服务端交互的可能.
11. 可不可以得到一个COM运行时的实例 ? ?
用monikers可以实现这个功能. 你想得到同一个Word实例的多个引用,可以用下面的代码: that instance like shown: $word = new COM("C:\docs\word.doc");
如果没有Word的实例在运行,它会创建新的实例.否则,它会返回它的句柄.
12. 有没有办法可以处理从 COM 对象送出的事件 ?
还不能.
13. 我在调用一个 COM 对象(有多个接口)的方法时出错, . 我应该怎么办?
答案简单得让人不满意. 我不是太清楚,但我想你不用做什么. 如果还有人关于这有一些情况和看法,请让 我(harald.radi@nme.at) 知道 :)
14. PHP 可以 COM工作, 那么 COM+呢 ?
COM+ 扩展了 COM 框架,用来通过MTS 和 MSMQ管理 组件.没有什么特殊的东西PHP不支持.
15. PHP 可以操作 COM 对象, 我们是否可以设想通过 MTS 管理组件资源, 从而管理 PHP ?
PHP 本身还不能处理交易. 也就是说如果有错误发生它还是不会主动滚回. 即使用支持交易的组件对象,你还是要 自己实现交易的管理. (交易 - transactions) 

PHP 相关文章推荐
新版PHP极大的增强功能和性能
Oct 09 PHP
提升PHP执行速度全攻略(下)
Oct 09 PHP
php处理json时中文问题的解决方法
Apr 12 PHP
file_get_contents获取不到网页内容的解决方法
Mar 07 PHP
如何使用PHP实现javascript的escape和unescape函数
Jun 29 PHP
利用Fix Rss Feeds插件修复WordPress的Feed显示错误
Dec 19 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
Jul 06 PHP
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
May 02 PHP
thinkPHP5项目中实现QQ第三方登录功能
Oct 20 PHP
PHP设计模式之注册树模式分析
Jan 26 PHP
通过代码实例解析PHP session工作原理
Dec 11 PHP
Laravel中Kafka的使用详解
Mar 24 PHP
如何获得PHP相关资料
Oct 09 #PHP
VML绘图板②脚本--VMLgraph.js、XMLtool.js
Oct 09 #PHP
example1.php
Oct 09 #PHP
一个ftp类(ini.php)
Oct 09 #PHP
php中数据的批量导入(csv文件)
Oct 09 #PHP
第四节 构造函数和析构函数 [4]
Oct 09 #PHP
PHP5 安装方法
Oct 09 #PHP
You might like
PHP callback函数使用方法和注意事项
2015/01/23 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
FCK调用方法..
2006/12/21 Javascript
CSS常用网站布局实例
2008/04/03 Javascript
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
2019/08/22 Javascript
jquery检测上传文件大小示例
2020/04/26 jQuery
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
python操作xml文件详细介绍
2014/06/09 Python
Python文本相似性计算之编辑距离详解
2016/11/28 Python
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
Python numpy 提取矩阵的某一行或某一列的实例
2018/04/03 Python
python批量从es取数据的方法(文档数超过10000)
2018/12/27 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
从零实现一个自定义html5播放器的示例代码
2017/08/01 HTML / CSS
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
四年级评语大全
2014/04/21 职场文书
应届毕业生求职信
2014/05/26 职场文书
师德承诺书
2015/01/20 职场文书
服装店员工管理制度
2015/08/07 职场文书
给校长的建议书作文500字
2015/09/14 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
利用python做数据拟合详情
2021/11/17 Python