php がポストパラメータを受け取れない問題の解決策: 1. ヘッダー情報「content-type」を確認します; 2. [file_get_contents("php://input")] メソッドを使用して入力を取得しますストリーム。
推奨: 「PHP ビデオ チュートリアル 」
PHP インターフェイスのポスト データを受信できない理由パラメータ
1. ヘッダー情報の content-type が「content-type:application/x-www-form-urlencoded」であることを確認します この送信はフォームと PHP でデータを送信するものです$_POST を使用してそれを受け入れます。
2. ヘッダー情報の content-type が「content-type:application/json」の場合、json モードでデータを送信するため、PHP は file_get_contents("php:// input") を使用して取得します。入力ストリーム メソッドは
3 を受け入れます。PHP を初めて使用する場合は、echo $_POST["variable"] と var_dump を使用してポスト データを取得することはできません。 ($_POST)。
解決策は次のとおりです:
1. php.ini 設定ファイルを見つけて、enable_post_data_reading 変数を探し、それが開いていることを確認して、ステートメントの前のセミコロン (セミコロンのあるステートメントは Comment ステートメントです):
2. php を実行しているブラウザのアドレスを観察すると、PhpStorm でブラウザを開くために使用されるサービス ポート番号が 63342 であることがわかります (URL は次の形式です) of localhost:63342/)
したがって、問題の理由は次のとおりです。PhpStorm はデフォルトで独自の内部サーバーを使用しますが、xampp では Apache サーバーを使用しません。組み込みサーバー phpStorm はポート 63342 を使用しており、サーバー内で問題が発生して POST メソッドが異常になり、Apache サーバーの作業ディレクトリにプロジェクトを配置し、アドレス バーに localhost と入力すると、現時点では Apache サーバーが使用されており、デフォルトのポート番号は 80 であり、Apache サーバーはプログラムを正常に実行できます。
PhpStorm の内部サーバーに問題があるため、解決策は内部サーバーを使用しない方法を見つけることです。 2 つの方法があります:
1. Apache サーバーの作業ディレクトリにプロジェクトを作成し、実行するたびにブラウザのアドレス バーにローカルホストのアドレスを直接入力します。まだ使いたい PhpStorm でブラウザ デバッガを開きます。設定を変更することで実現できます。
(1) まず、Apache サーバー ディレクトリをローカル ディレクトリにマッピングします。
方法は次のとおりです。 :
1. /xampp/apache/conf/httpd.conf ファイルを見つけます
2.
3次のコードを追加します:
# /phpworkspace/ : 他のディスク上のディレクトリのエイリアスは、マッピングするディレクトリのエイリアスです
# "E:/phpworkspace/" :これはディレクトリです。 絶対パス
##Alias /phpworkspace/ "E:/phpworkspace/"# これで、//localhost を介して E ドライブの下の phpworkspace フォルダー内のプロジェクトにアクセスできるようになります。 /phpworkspace/4. 次のように、<Directory "E:/phpworkspace/"> AllowOverride All Options Indexes FollowSymLinks Includes ExecCGI Require all granted </Directory>
以上がPHPがポストパラメータを受信できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。