php获取服务器信息 访问遭到拒绝

小白蔡啊 2013-10-06 05:38:43
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
...全文
498 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
小白蔡啊 2013-10-07
  • 打赏
  • 举报
回复
引用 9 楼 iasky 的回复:
[quote=引用 8 楼 u012345166 的回复:] [quote=引用 7 楼 iasky 的回复:] [quote=引用 6 楼 u012345166 的回复:] [quote=引用 5 楼 iasky 的回复:] 你在用这个:SWbemLocator,是你的PHP在操作COM吧。 一般都是用户认证问题,看看
$objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
现在是这样的 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 [/quote] 这个知识一个例子,加入你的代码中,$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");
[/quote] <?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运行吗[/quote] $host = "a_remote_pc"; $user = "administrator_user"; $pass = "password"; 这些信息换成你自己的啊。[/quote] 哥们帮下把 昨天到现在都没有好
小白蔡啊 2013-10-07
  • 打赏
  • 举报
回复
引用 9 楼 iasky 的回复:
[quote=引用 8 楼 u012345166 的回复:] [quote=引用 7 楼 iasky 的回复:] [quote=引用 6 楼 u012345166 的回复:] [quote=引用 5 楼 iasky 的回复:] 你在用这个:SWbemLocator,是你的PHP在操作COM吧。 一般都是用户认证问题,看看
$objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
现在是这样的 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 [/quote] 这个知识一个例子,加入你的代码中,$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");
[/quote] <?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运行吗[/quote] $host = "a_remote_pc"; $user = "administrator_user"; $pass = "password"; 这些信息换成你自己的啊。[/quote] 能自动获取服务器信息不啊
iasky 2013-10-07
  • 打赏
  • 举报
回复
或者你参考下phpsysinfo这个软件是怎么写的。代码在http://sourceforge.net/projects/phpsysinfo/files/
iasky 2013-10-07
  • 打赏
  • 举报
回复
引用 8 楼 u012345166 的回复:
[quote=引用 7 楼 iasky 的回复:] [quote=引用 6 楼 u012345166 的回复:] [quote=引用 5 楼 iasky 的回复:] 你在用这个:SWbemLocator,是你的PHP在操作COM吧。 一般都是用户认证问题,看看
$objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
现在是这样的 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 [/quote] 这个知识一个例子,加入你的代码中,$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");
[/quote] <?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运行吗[/quote] $host = "a_remote_pc"; $user = "administrator_user"; $pass = "password"; 这些信息换成你自己的啊。
小白蔡啊 2013-10-07
  • 打赏
  • 举报
回复
引用 7 楼 iasky 的回复:
[quote=引用 6 楼 u012345166 的回复:] [quote=引用 5 楼 iasky 的回复:] 你在用这个:SWbemLocator,是你的PHP在操作COM吧。 一般都是用户认证问题,看看
$objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
现在是这样的 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 [/quote] 这个知识一个例子,加入你的代码中,$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");
[/quote] <?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运行吗
iasky 2013-10-07
  • 打赏
  • 举报
回复
引用 6 楼 u012345166 的回复:
[quote=引用 5 楼 iasky 的回复:] 你在用这个:SWbemLocator,是你的PHP在操作COM吧。 一般都是用户认证问题,看看
$objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
现在是这样的 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 [/quote] 这个知识一个例子,加入你的代码中,$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");
小白蔡啊 2013-10-07
  • 打赏
  • 举报
回复
引用 5 楼 iasky 的回复:
你在用这个:SWbemLocator,是你的PHP在操作COM吧。 一般都是用户认证问题,看看
$objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
现在是这样的 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
iasky 2013-10-07
  • 打赏
  • 举报
回复
你在用这个:SWbemLocator,是你的PHP在操作COM吧。 一般都是用户认证问题,看看
$objWMIService = $wmiLocator->ConnectServer($host, "root\cimv2", "$host\$user", $pass);
小白蔡啊 2013-10-07
  • 打赏
  • 举报
回复
就是不知道那里去设置权限啊
黄袍披身 2013-10-07
  • 打赏
  • 举报
回复
文件是否存在 权限是否正常 不过你这个是win系统 按道理如果没有专门去设置过权限 应该不会有这种提示嘛
小白蔡啊 2013-10-06
  • 打赏
  • 举报
回复
大哥看下我这个是需要设置那里的权限
ImN1 2013-10-06
  • 打赏
  • 举报
回复
遭拒绝多数是权限问题

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧