PHPでWebサービスを実装しました。このサービスは、名前/値のペアを入力として受け取り、JSONでエンコードされた文字列を返します。GETが成功したときにWebサービスへのPOSTが失敗する:PHP
mac-osxとwindows 7で動作するローカルのApache Webサーバーでは、すべてが期待通りに機能していました。しかし、このLinuxベースのWebサービスプロバイダでPHPスクリプトをホストした後、私のPOSTリクエストは失敗しています。次のように失敗したバックエンドのPHPスクリプトによって
は次のとおりです。
if (session_id() == "") {
session_start();
}
ob_start();
$command = isset($_REQUEST["Command"]) ? $_REQUEST["Command"] : "";
if ($command == "") {
echo("Handler Not Found: ");
print_r($_REQUEST);
}
Command=do_foo
とURLへのPOST要求からの出力は常にHandler Not Found:
です。これは、Webサービスが送信するパラメータのいずれも受け取っていないかのようです。私は期待どおりに動作すべてを取得するための呼び出し方法を変更した場合
[PHPSESSID] => db0af76fe8028e70dc96f816d0dbe927
:$_REQUEST
の値をとして印刷されます。私は何が欠けていますか?
PS:apache.http.client.methods.HttpGet
と`apache.http.client.methods.HttpGet
を使用してAndroidアプリでこのWebサービスを呼び出しています。
私はスーパーグローバル
$_POST
を使用する場合、私は同じ問題を抱えている:私は、POSTは私がFireFox add-on PosterEDITてPOSTリクエストを送信しても失敗したことを確認しました。
私は自分のホストサーバーにsshできませんが、CPANELは私にそれを示しています
register_globals=off
。それが問題を生み出すかどうかはわかりません。