phalanger — Как использовать COM-объект в скомпилированном переполнении стека

Я пытаюсь получить доступ к WMI с помощью COM-объектов с PHP. Приведенный ниже метод очень хорошо работает с PHP в браузере, но я не могу заставить его работать, когда файл PHP скомпилирован как консольное приложение Windows.

    $obj = new COM ( 'winmgmts://localhost/root/CIMV2' );
$fso = new COM ( "Scripting.FileSystemObject" );

$csp = $obj->ExecQuery("Select * from Win32_ComputerSystemProduct");

foreach ( $csp as $wmi_csp )
{
$uuid = $wmi_csp->UUID;
}

Я пробовал Bambalam BamCompiler, PHC-Win и Phalanger. Бамбалам не работал, но не возвращал никаких сообщений об ошибках. Phalanger не удалось определить «COM-объект». Я заметил, что необходимое расширение PHP называется «php_com_dotnet.dll». Но Phalanger не поставляется с этим расширением.

Я попытался добавить его в библиотеку расширений, но Phalanger Extutil не удалось создать оболочку для него (обратите внимание, что версия php_com_dotnet.dll, которую я скопировал в папку расширений, не совпадает с версией файла других расширений).

Как я могу использовать COM-объект и с каким PHP-компилятором под Windows? Или как я могу заставить Phalanger принять необходимое расширение?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …