1
timonwong 2012-12-12 15:39:11 +08:00
|
2
vampirekiss 2012-12-12 15:43:08 +08:00
php是服务端脚本,所有调用都在发生在服务器上。
无法用php在客户端上调用COM组件 |
3
jacy OP @timonwong How can I run COM object from remote server ?
Exactly like you run local objects. You only have to pass the IP of the remote machine as second parameter to the COM constructor. Make sure that you have set com.allow_dcom=TRUE in your php.ini. 在php手册上找到这个,现在是没太明白COM的第二个参数server_name如何填写,和这个有关吗? |
4
jacy OP @vampirekiss 是在客户端调用服务端的COM。
|
5
timonwong 2012-12-12 15:49:09 +08:00
@jacy
你看得那个算是DCOM了。 主要看你是需要哪种。 1) COM宿主和PHP环境(Web)在同一台服务器 2) COM宿主在另外一台服务器,PHP(Web)一台服务器 如果是第一种情况,好所,COM Object直接操作即可,跟CreateObject, ActiveXObject操作差不多 第二种情况考虑就要多点,远程调用COM很累,基本上要在同一个域或局域网内才靠谱,我觉得你的需求不是这种情况。 |
6
vampirekiss 2012-12-12 15:50:48 +08:00
那直接根据析客户端发过来的数据,在服务端调用就好了。
调用方法正如 timonwong 所说 第二个参数如果是本机调用,你可以不填写,如果填写了。则表示你调用的COM服务是在另外一台机器上,这时候你需要填写这台机器的IP地址或机器名 |
7
timonwong 2012-12-12 15:54:57 +08:00
|
8
jacy OP @timonwong COM在服务器上,php文件也在服务器上,现在只能通过在服务器上用命令行执行这个php,我用另外一台电脑通过浏览器访问这个php会报错,在服务器上用浏览器也会报错。我现在就想用浏览器执行。
@vampirekiss |
9
vampirekiss 2012-12-12 16:05:41 +08:00
贴下错误信息
|
10
jacy OP @vampirekiss Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Unknown<br/><b>Description:</b> Unknown' in xxxxx.php:10 Stack trace: #0 D:\wwwroot\LocalUser\jacy\web\xunlei.php(10): com->CommitTasks2(1) #1 {main} thrown in D:\wwwroot\LocalUser\jacy\web\xunlei.php on line 10
|
11
vampirekiss 2012-12-12 16:36:23 +08:00
呃。居然是 Unknown
这个分析不出来了。 换种方式吧。 做个队列,在web上保存队列,然后在命令行下读队列跑吧。 |