php nusoapスクリプトが機能しない

php web-services
php nusoapスクリプトが機能しない

nusoapを使用してWebサービスに接続するphpスクリプトがあります:

$uri = 'http://soap.1011.my-online-check.com:8080/avavoip_gate.php?wsdl';
$client = new nusoap_client($uri, true, false, false, false, false, 30, 90);
$client->setHeaders($headers);
$result = $client->call($method, $args);

私のMacでも問題なく動作します。

ただし、chost(bluehost.comの1つ)を使用してまったく同じスクリプトを両方のWebホスティングプロバイダーにアップロードすると、スクリプトは次のエラーで失敗します。

_
エラー:wsdlエラー: ‘http://soap.1011.my-online-check.com:8080/avavoip_gate.php?wsdl-HTTPエラー:サーバーへのソケット接続を開けませんでした’ http://soap.1011 .my-online-check.com:8080 / avavoip_gate.php?wsdl、エラー(110):接続がタイムアウトしました
_

そこで、スクリプトをテストするために他のPCにCentOSをインストールしました。 最初は上記と同じエラーが発生しましたが、SELinuxをEnforcingではなくPermissiveに設定した後、スクリプトも正常に機能しました。

ホスティングプロバイダーにSELinuxの設定を変更するように依頼しましたが、役に立ちませんでした。 スクリプトをウェブホスティングプロバイダーで動作させる方法についてアドバイスはありますか?

  0  0


ベストアンサー

代わりにcurlを使用することもできます。 nusoapクライアントの場合:

$client->use_curl = TRUE;

`$ client→ call`を呼び出す前

1


_
私はホスティングプロバイダーにSELinux設定を変更するように頼みましたが、役に立たなかった
_

彼らは拒否しましたか、それとも単に応答しませんでしたか?

問題のSELinuxの制限は、「Apacheとそれが生成するものがHTTP接続を作成できるか」ということになります。

そうは言っても、タイムアウトは通常、SELinuxがアクションをブロックしたときに得られるものではありません。 通常、代わりに「許可が拒否されました」と表示されます。 発信接続をブロックしている何か他のものがあるかもしれません。

0


タイトルとURLをコピーしました