PHP が投稿データを取得できない問題の解決策: 1. [php.ini] 設定ファイルを開きます; 2. [enable_post_data_reading] オプションをチェックして開いていることを確認します; 3. ブラウザーが開いていることを確認しますローカルの Apache サーバーを使用します。
PHP フォーム送信時にポスト データを取得できない場合の解決策:
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. コード ブロックを見つけます
3. 次のコードを子に追加しますlevel:
# /phpworkspace/ : 其它磁盘上目录的别名, 就是你想映射过来的目录的别名 # "E/phpworkspace/" : 这个是目录的绝对路径 Alias /phpworkspace/ "E/phpworkspace/" # 现在就可以通过 //localhost/phpworkspace/ 访问到 E盘下phpworkspace文件夹里的项目了
4. 次のように、同じレベルにコードを追加します:
AllowOverride All Options Indexes FollowSymLinks Includes ExecCGI Require all granted
完了しました。Apache を再起動して、http://localhost/phpworkspace/ にアクセスしてください
(2) PhpStorm で、「ファイル」→「設定」→「ビルド」、「実行」、「デプロイ」→「デプロイ」の順に見つけます。最初は空です。緑色のプラス記号をクリックして、ローカル サーバーを追加します。作成が完了すると、右側の [接続] タブのデフォルト設定により、サーバーが Apache サーバーとして構成されます。ポート 80、つまり http://localhost
これを変更します。Mappings タグの下のローカル パスをローカル プロジェクトの作業ディレクトリに設定します。
#このとき、PhpStorm からブラウザをクリックすると、アクセスした URL にはポート 63342 のフィールドがなくなり、代わりにローカルの Apache サーバーが使用され、対応するフォーム データも正常に受信できます。
プログラミング学習について詳しく知りたい方は、phpトレーニングのコラムに注目してください!
以上がphp が投稿を取得できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。