ホームページ  >  記事  >  バックエンド開発  >  PHPが投稿データを受信できない原因

PHPが投稿データを受信できない原因

(*-*)浩
(*-*)浩オリジナル
2019-10-18 11:43:216353ブラウズ

PHPが投稿データを受信できない原因

ヘッダ情報のcontent-typeが「content-type:application/x-www-form-urlencoded」であることを確認してください。 今回の送信は、以下のフォームでデータを送信するものですphp の $_POST メソッドを使用して受け入れます。 (推奨学習: PHP ビデオ チュートリアル )

ヘッダー情報の content-type が「content-type:application/json」でない場合、送信は json で行われます。データを送信するには、PHP は file_get_contents("php://input") を使用して入力ストリームを取得する必要があります。受け入れます

PHP の初心者は、echo $_POST["variable"] と var_dump を使用してください($_POST) 投稿データを取得できません。

解決策は次のとおりです:

1. php.ini 設定ファイルを見つけて、enable_post_data_reading 変数を探し、それが開いていることを確認して、セミコロンを削除します。ステートメントの前 (セミコロンのあるステートメントはコメント ステートメントです):

2. php を実行しているブラウザのアドレスを観察します。PhpStorm でブラウザを開くために使用されるサービス ポート番号が 63342 であることがわかります ( URL は 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. 9b9a7fa2c4c482a09f4ab7d692ed99a0 の子レベルに追加します:

# /phpworkspace/ : 其它磁盘上目录的别名, 就是你想映射过来的目录的别名
# "E:/phpworkspace/" : 这个是目录的绝对路径
Alias /phpworkspace/ "E:/phpworkspace/"
# 现在就可以通过 //localhost/phpworkspace/ 访问到 E盘下phpworkspace文件夹里的项目了

4. 1d2836e31d6e6e17d304ed49097f9974 と同じレベルにコードを追加します。フォロー:

<Directory "E:/phpworkspace/">
    AllowOverride All
    Options Indexes FollowSymLinks Includes ExecCGI
    Require all granted
</Directory>

Complete。Apache を再起動し、http://localhost/phpworkspace/ にアクセスします。これで完了です。

(2) 次に、PhpStorm で、[ファイル]->[設定] を見つけます。 ->ビルド、実行、デプロイメント->デプロイメント、最初は空です。緑色のプラス記号をクリックしてローカル サーバーを追加します。localhost という名前を付けるだけです。タイプ:

作成後、[インプレース] を選択します。完了すると、右側の [接続] タブのデフォルト設定でサーバーがポート 80 に構成されています。 Apache サーバー、つまり http://localhost

の下にある Apache サーバーを、ローカルにマップした作業ディレクトリに変更します。プロジェクトを選択し、「マッピング」タブの「ローカル パス」をローカル プロジェクトのディレクトリに設定します。

このとき、PhpStormからブラウザをクリックすると、アクセスしたURLにはポート63342というフィールドがなくなり、代わりにローカルのApacheサーバーが使用され、対応するフォームデータを正常に受信できるようになります。

以上がPHPが投稿データを受信できない原因の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。