2013-03-01 11 views
0

다음 스크립트를 사용하여 iis에서 레지스트리 값을 읽으려고합니다.PHP com 객체가 작동하지 않는 IIS 서버에서 레지스트리 읽기

$shell = new COM("WScript.Shell") or die("Requires Windows Scripting Host"); 
$devenvpath=$shell->RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App\\Pathsfirefox.exe"); 

작동하지 않습니다. 그것은 나에게 "레지스트리 키를 열 수 없습니다"라고 계속해서 알려줍니다. 이 권한은 사용 권한 문제이지만 확실하지는 않습니다. 어떻게 작동시킬 수 있습니까?

도움 주셔서 감사합니다.

답변

0

마지막으로이 작업을 수행했습니다. php_com_dotnet.dll에 php 확장자를 추가해야했습니다. 내가 IIS 관리자에서 PHP 관리자 내부 않았다. 다른 사람들을 돕기를 바랍니다.

0

아마도 원래 게시물의 오타 일 뿐이지 만 해당 레지스트리 행의 "경로"와 "Firefox.exe"사이에 "\"가 있어야하는 것처럼 보입니다.

$devenvpath=$shell->RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\App\\Paths\\firefox.exe"); 
+0

아직 작동하지 않습니다. $ shell 라인에서 죽습니다. 작동을 위해 echo 명령문을 결코 얻지 못합니다. { $ shell = new COM ("WScript.Shell") 또는 죽을 때 ("Windows Scripting Host 필요"); echo "결코 위의 줄을 지나치지 않습니다"; $ response = $ shell-> RegRead ("HKEY_LOCAL_MACHINE \\ 소프트웨어 \\ Microsoft \\ Windows \\ CurrentVersion \\ 응용 프로그램 경로 \\ firefox.exe \\ 경로"); var_dump ($ response); } catch (Exception $ e) { echo '잡히지 예외 :', $ e-> getMessage(), "\ n"; } – joeb