php调用vbs脚本无法创建对象

时间:2017-09-06 22:42:55

标签: php vbscript

我的本​​地电脑上有一个vbs脚本,我可以通过双击它来运行。 脚本运行正常。

我有一个php页面,如果请求尝试运行相同的vbs脚本。问题是,当我的php运行时,它会调用我的vbs脚本,并在它到达需要创建对象的点时失败。

如果我从php调用vbs脚本,如何创建我的对象?

PHP代码。

$command = 'wscript.exe C:/eClaimsAPI/SendToTelus.vbs';

/*
 * wait for command to return a exit code?
 *
 * true = waits for the command to complete, before continuing this script
 * false = executes command then continues this script without waiting for command to exit
 *
*/

$wait = true;


// run it

$obj = new COM ( 'WScript.Shell' );

if ( is_object ( $obj ) )
{
    $obj->Run ( 'cmd /C ' . $command, 0, $wait );
}
else
{
    echo 'can not create wshell object';
}

$obj = null;

VBS代码

Dim nErr

Dim szXML

Dim strMsgType

Dim ID

Dim ID2
Dim oServer

Set TypeLib = CreateObject("Scriptlet.TypeLib")
ID = TypeLib.Guid
ID = Replace(ID,"{","")
ID = Replace(ID,"}","") 

Set oServer  = WScript.CreateObject("eCLaimsAPI.Api")

问题发生在(Set oServer)

的最后一行

错误:无法创建名为“eClaimsAPI.Api”的对象 代码:80040154 来源:WScript.CreateObject

1 个答案:

答案 0 :(得分:0)

感谢Lankymart,我能够解决这个问题。

经过一番挖掘和研究后,我发现我的具体问题最终成为我的应用程序池>高级设置>启用32位应用程序设置为true。关掉它解决了我的问题。