Для подключения класса SOAP к PHP откройте файл php.ini, найдите строку
; extension=php_soap.so (или ; extension=php_soap.dll) и
удалите перед ней
точку с запятой.
Внимание! Вполне возможно, что библиотека php_soap.dll в вашем PHP может отсутствовать. В этом случае необходимо найти эту самую библиотеку в сети и поместить в папку с остальными похожими библиотеками (порыскайте в папке php - там на "поверхности" всё), она обязательно должна быть той же версии, что и сам PHP. А вообще, я рекомендую загрузить исходники PHP и фактически переставить его, это будет и проще, и быстрее, и библиотеки там все нужные сразу есть.
# Для настройки технологии SOAP в MaNGOS откройте mangosd.conf, найдите и выставьте следующие параметры:
#
# SOAP.Enabled = 1
# SOAP.IP = 127.0.0.1
# SOAP.Port = 7878
Если у вас работает фаерволл (или антивирус с соотв. защитой),
обязательно убедитесь, что указанный в скрипте порт (в примере это
7878) открыт для подключения к mangosd.exe с локального хоста.
PHP код:
<?php
$command = 'server info';
$host = '127.0.0.1';
$port = 7878;
$user = 'admin';
$pass = 'admin';
if(!class_exists('SoapClient'))
die('Error: class SOAP is undefined');
$client = new SoapClient(NULL, array(
'location' => 'http://'.$host.':'.$port.'/',
'uri' => 'urn:MaNGOS',
'style' => SOAP_RPC,
'login' => $user,
'password' => $pass,
'encoding' => 'windows-1251'
));
try
{
echo $client->executeCommand(new SoapParam($command, 'command'));
}
catch(Exception $e)
{
echo $e->getMessage();
}
?>
Код переписывал "на коленке", посему не тестировал, но зуб даю - работает
Пришлось выдёргивать из своего движка.