执行后php soap重定向不起作用

执行后php soap重定向不起作用,php,soap,Php,Soap,我正在为一个游戏运行一个私有服务器,我对soap有一个问题。如果服务器是在线的,一切都很好,它可以在运行soap命令后重定向我,但如果我的服务器关闭,它将不再重定向我。相反,它会显示这个错误 致命错误:未捕获的SoapFault异常:[HTTP]无法连接到C:\xampp\htdocs\SoapSite\testfile.php中的主机:16堆栈跟踪:#0[内部函数]:SoapClient->u doRequest('由于未捕获异常而发生致命错误,php脚本将在该点停止并发送重定向(位置标头)不

我正在为一个游戏运行一个私有服务器,我对soap有一个问题。如果服务器是在线的,一切都很好,它可以在运行soap命令后重定向我,但如果我的服务器关闭,它将不再重定向我。相反,它会显示这个错误


致命错误:未捕获的SoapFault异常:[HTTP]无法连接到C:\xampp\htdocs\SoapSite\testfile.php中的主机:16堆栈跟踪:#0[内部函数]:SoapClient->u doRequest('由于未捕获异常而发生致命错误,php脚本将在该点停止并发送重定向(位置标头)不再执行

我建议捕捉例外情况:

/[…]在此执行之前的其他代码
试一试{
$result=$client->executeCommand(新的SoapParam($command,'command'));
}
捕获(SoapFault$e){
//可以在此处添加一些可选的日志记录/错误处理
}
标题('location:../index.php');
或者,您可以预先ping服务器,并且仅在请求实际存在时运行请求,但这可能会很麻烦,具体取决于响应时间和超时设置等

<?php
$soapHost = "127.0.0.1";
$soapPort = "7878";
$soapUsername = "soapuser";
$soapPassword = "12345";

$client = new SoapClient(NULL, array(
    'location' => "http://$soapHost:$soapPort/",
    'uri'      => 'urn:TC',
    'style'    => SOAP_RPC,
    'login'    => $soapUsername,
    'password' => $soapPassword,
));

$command = "account create ".$_POST['uname']." ".$_POST['pw'];
$result = $client->executeCommand(new SoapParam($command, 'command'));
header('location: ../index.php');
?>