仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2381|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页编程之PHP 和 COM

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:28:39 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一下弹出N多页面!很明显,你的留言本并没有做好安全防范,被人用JS代码小小的耍了一下,我很同情你这个时候的感受,但是没有别的办法了,继续努力吧!   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:
  1. $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)   我先解释一下我的学习思路。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-11 01:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表