Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> SWbemLocator<br/><b>Description:</b> 访问遭到拒绝 ' in D:\web\1.php:35 Stack trace: #0 D:\web\1.php(35): com->ConnectServer() #1 D:\web\1.php(44): getBoardSID() #2 {main} thrown in D:\web\1.php on line 35

解决方案 »

  1.   

    文件是否存在 权限是否正常 不过你这个是win系统 按道理如果没有专门去设置过权限 应该不会有这种提示嘛
      

  2.   

    你在用这个:SWbemLocator,是你的PHP在操作COM吧。一般都是用户认证问题,看看$objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
      

  3.   

    现在是这样的
    PHP Notice: Undefined variable: wmiLocator in D:\web\index.php on line 2 PHP Fatal error: Call to a member function ConnectServer() on a non-object in D:\web\index.php on line 2 
      

  4.   

    现在是这样的
    PHP Notice: Undefined variable: wmiLocator in D:\web\index.php on line 2 PHP Fatal error: Call to a member function ConnectServer() on a non-object in D:\web\index.php on line 2 
    这个知识一个例子,加入你的代码中,$wmiLocator是new COM返回的,完整点的例子:$host = "a_remote_pc";
    $user = "administrator_user";
    $pass = "password";$wmiLocator = new COM("WbemScripting.SWbemLocator");
    $objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
    $oQuery = $objWMIService->ExecQuery("Select * from Win32_NTLogEvent");
      

  5.   

    现在是这样的
    PHP Notice: Undefined variable: wmiLocator in D:\web\index.php on line 2 PHP Fatal error: Call to a member function ConnectServer() on a non-object in D:\web\index.php on line 2 
    这个知识一个例子,加入你的代码中,$wmiLocator是new COM返回的,完整点的例子:$host = "a_remote_pc";
    $user = "administrator_user";
    $pass = "password";$wmiLocator = new COM("WbemScripting.SWbemLocator");
    $objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
    $oQuery = $objWMIService->ExecQuery("Select * from Win32_NTLogEvent");
    <?php
    $host = "a_remote_pc"; 
    $user = "administrator_user"; 
    $pass = "password"; 
      
    $wmiLocator = new COM("WbemScripting.SWbemLocator"); 
    $objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass); 
    $oQuery = $objWMIService->ExecQuery("Select * from Win32_NTLogEvent");function getDiskSID(){
    $sid = array();
    $wmd = new COM("Winmgmts://./root/cimv2");
    $wqd = $wmd->ExecQuery("Select * From Win32_DiskDrive");
    foreach($wqd as $row){
    $sid[] = $row->PNPDeviceID;
    }
    return $sid;
    }
    function getCpuSID(){
    $sid = array();
    $objLocator = new COM("WbemScripting.SWbemLocator");
    $wmi = $objLocator->ConnectServer();
    //$info=$wmi->Get("Win32_PnPEntity");
    $info = $wmi->Get("Win32_Processor");
    $arrProp = $info->Properties_();
    $arrWEBMCol = $info->Instances_();
    foreach($arrWEBMCol as $objItem) {
    $sid[] = $objItem->ProcessorId;
    }
    return $sid;
    }function getBoardSID(){
    $sid = array();
    $objLocator = new COM("WbemScripting.SWbemLocator");
    $wmi = $objLocator->ConnectServer();
    $info = $wmi->Get("Win32_BaseBoard");
    $arrWEBMCol = $info->Instances_();
    foreach($arrWEBMCol as $row){
    $sid[] = $row->SerialNumber ;
    }
    return $sid;
    }var_dump(@getBoardSID());
    var_dump(@getDiskSID());
    var_dump(@getCpuSID());
    我是5.3版本 哥们你们那里negotiations运行吗
      

  6.   

    现在是这样的
    PHP Notice: Undefined variable: wmiLocator in D:\web\index.php on line 2 PHP Fatal error: Call to a member function ConnectServer() on a non-object in D:\web\index.php on line 2 
    这个知识一个例子,加入你的代码中,$wmiLocator是new COM返回的,完整点的例子:$host = "a_remote_pc";
    $user = "administrator_user";
    $pass = "password";$wmiLocator = new COM("WbemScripting.SWbemLocator");
    $objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
    $oQuery = $objWMIService->ExecQuery("Select * from Win32_NTLogEvent");
    <?php
    $host = "a_remote_pc"; 
    $user = "administrator_user"; 
    $pass = "password"; 
      
    $wmiLocator = new COM("WbemScripting.SWbemLocator"); 
    $objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass); 
    $oQuery = $objWMIService->ExecQuery("Select * from Win32_NTLogEvent");function getDiskSID(){
    $sid = array();
    $wmd = new COM("Winmgmts://./root/cimv2");
    $wqd = $wmd->ExecQuery("Select * From Win32_DiskDrive");
    foreach($wqd as $row){
    $sid[] = $row->PNPDeviceID;
    }
    return $sid;
    }
    function getCpuSID(){
    $sid = array();
    $objLocator = new COM("WbemScripting.SWbemLocator");
    $wmi = $objLocator->ConnectServer();
    //$info=$wmi->Get("Win32_PnPEntity");
    $info = $wmi->Get("Win32_Processor");
    $arrProp = $info->Properties_();
    $arrWEBMCol = $info->Instances_();
    foreach($arrWEBMCol as $objItem) {
    $sid[] = $objItem->ProcessorId;
    }
    return $sid;
    }function getBoardSID(){
    $sid = array();
    $objLocator = new COM("WbemScripting.SWbemLocator");
    $wmi = $objLocator->ConnectServer();
    $info = $wmi->Get("Win32_BaseBoard");
    $arrWEBMCol = $info->Instances_();
    foreach($arrWEBMCol as $row){
    $sid[] = $row->SerialNumber ;
    }
    return $sid;
    }var_dump(@getBoardSID());
    var_dump(@getDiskSID());
    var_dump(@getCpuSID());
    我是5.3版本 哥们你们那里negotiations运行吗
    $host = "a_remote_pc"; 
    $user = "administrator_user"; 
    $pass = "password"; 这些信息换成你自己的啊。
      

  7.   

    或者你参考下phpsysinfo这个软件是怎么写的。代码在http://sourceforge.net/projects/phpsysinfo/files/
      

  8.   

    现在是这样的
    PHP Notice: Undefined variable: wmiLocator in D:\web\index.php on line 2 PHP Fatal error: Call to a member function ConnectServer() on a non-object in D:\web\index.php on line 2 
    这个知识一个例子,加入你的代码中,$wmiLocator是new COM返回的,完整点的例子:$host = "a_remote_pc";
    $user = "administrator_user";
    $pass = "password";$wmiLocator = new COM("WbemScripting.SWbemLocator");
    $objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
    $oQuery = $objWMIService->ExecQuery("Select * from Win32_NTLogEvent");
    <?php
    $host = "a_remote_pc"; 
    $user = "administrator_user"; 
    $pass = "password"; 
      
    $wmiLocator = new COM("WbemScripting.SWbemLocator"); 
    $objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass); 
    $oQuery = $objWMIService->ExecQuery("Select * from Win32_NTLogEvent");function getDiskSID(){
    $sid = array();
    $wmd = new COM("Winmgmts://./root/cimv2");
    $wqd = $wmd->ExecQuery("Select * From Win32_DiskDrive");
    foreach($wqd as $row){
    $sid[] = $row->PNPDeviceID;
    }
    return $sid;
    }
    function getCpuSID(){
    $sid = array();
    $objLocator = new COM("WbemScripting.SWbemLocator");
    $wmi = $objLocator->ConnectServer();
    //$info=$wmi->Get("Win32_PnPEntity");
    $info = $wmi->Get("Win32_Processor");
    $arrProp = $info->Properties_();
    $arrWEBMCol = $info->Instances_();
    foreach($arrWEBMCol as $objItem) {
    $sid[] = $objItem->ProcessorId;
    }
    return $sid;
    }function getBoardSID(){
    $sid = array();
    $objLocator = new COM("WbemScripting.SWbemLocator");
    $wmi = $objLocator->ConnectServer();
    $info = $wmi->Get("Win32_BaseBoard");
    $arrWEBMCol = $info->Instances_();
    foreach($arrWEBMCol as $row){
    $sid[] = $row->SerialNumber ;
    }
    return $sid;
    }var_dump(@getBoardSID());
    var_dump(@getDiskSID());
    var_dump(@getCpuSID());
    我是5.3版本 哥们你们那里negotiations运行吗
    $host = "a_remote_pc"; 
    $user = "administrator_user"; 
    $pass = "password"; 这些信息换成你自己的啊。
    能自动获取服务器信息不啊
      

  9.   

    现在是这样的
    PHP Notice: Undefined variable: wmiLocator in D:\web\index.php on line 2 PHP Fatal error: Call to a member function ConnectServer() on a non-object in D:\web\index.php on line 2 
    这个知识一个例子,加入你的代码中,$wmiLocator是new COM返回的,完整点的例子:$host = "a_remote_pc";
    $user = "administrator_user";
    $pass = "password";$wmiLocator = new COM("WbemScripting.SWbemLocator");
    $objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
    $oQuery = $objWMIService->ExecQuery("Select * from Win32_NTLogEvent");
    <?php
    $host = "a_remote_pc"; 
    $user = "administrator_user"; 
    $pass = "password"; 
      
    $wmiLocator = new COM("WbemScripting.SWbemLocator"); 
    $objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass); 
    $oQuery = $objWMIService->ExecQuery("Select * from Win32_NTLogEvent");function getDiskSID(){
    $sid = array();
    $wmd = new COM("Winmgmts://./root/cimv2");
    $wqd = $wmd->ExecQuery("Select * From Win32_DiskDrive");
    foreach($wqd as $row){
    $sid[] = $row->PNPDeviceID;
    }
    return $sid;
    }
    function getCpuSID(){
    $sid = array();
    $objLocator = new COM("WbemScripting.SWbemLocator");
    $wmi = $objLocator->ConnectServer();
    //$info=$wmi->Get("Win32_PnPEntity");
    $info = $wmi->Get("Win32_Processor");
    $arrProp = $info->Properties_();
    $arrWEBMCol = $info->Instances_();
    foreach($arrWEBMCol as $objItem) {
    $sid[] = $objItem->ProcessorId;
    }
    return $sid;
    }function getBoardSID(){
    $sid = array();
    $objLocator = new COM("WbemScripting.SWbemLocator");
    $wmi = $objLocator->ConnectServer();
    $info = $wmi->Get("Win32_BaseBoard");
    $arrWEBMCol = $info->Instances_();
    foreach($arrWEBMCol as $row){
    $sid[] = $row->SerialNumber ;
    }
    return $sid;
    }var_dump(@getBoardSID());
    var_dump(@getDiskSID());
    var_dump(@getCpuSID());
    我是5.3版本 哥们你们那里negotiations运行吗
    $host = "a_remote_pc"; 
    $user = "administrator_user"; 
    $pass = "password"; 这些信息换成你自己的啊。
    哥们帮下把 昨天到现在都没有好