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. 92aac8a5cc4b2dcfdd313b09f4c3c819 06509456e3f48e01a40badedd77d458e コード ブロックを見つけます
3次のコードを追加します:
# /phpworkspace/ : 他のディスク上のディレクトリのエイリアスは、マッピングするディレクトリのエイリアスです
# "E:/phpworkspace/" :これはディレクトリです。 絶対パス
##Alias /phpworkspace/ "E:/phpworkspace/"# これで、//localhost を介して E ドライブの下の phpworkspace フォルダー内のプロジェクトにアクセスできるようになります。 /phpworkspace/4. 次のように、1d2836e31d6e6e17d304ed49097f9974 と同じレベルにコードを追加します:<Directory "E:/phpworkspace/"> AllowOverride All Options Indexes FollowSymLinks Includes ExecCGI Require all granted </Directory>Completed. 次に、Apache を再起動して、次のサイトにアクセスします。 : http://localhost /phpworkspace/ 以上です(2) 次に、PhpStorm で、[ファイル] -> [設定] -> [ビルド、実行、デプロイ] -> [デプロイ] を見つけます。最初は空です。緑色のプラス記号。ローカル サーバーを追加し、localhost という名前を付け、[タイプ] で [インプレース] を選択します。作成が完了すると、右側の [接続] タブのデフォルト設定により、サーバーが Apache サーバーとして構成されます。ポート 80、つまり http://localhost の下で、ローカル プロジェクトにマップした作業ディレクトリに変更します。Mappings タグの下のローカル パスを、ローカル プロジェクトのディレクトリに設定します。ローカルプロジェクト:このとき、PhpStormから起動します ブラウザをクリックすると、アクセスしたURLにポート63342というフィールドがなくなり、代わりにローカルのApacheサーバーが使用され、対応するフォームデータが正常に受信できるようになります
以上がPHPがポストパラメータを受信できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。