クライアントとサーバー間のやり取り

 PHPを使ったWebサイトは複数のページ間でデータをやり取りして処理を進めていきます。その際、次のページへデータを渡して処理を行います。クライアントはWebブラウザーを使って操作し、サーバーに要求(リクエスト)を出します。サーバーはクライアントの要求を受け付け、応答(レスポンス)を返します。

手続き型言語のイメージ
サーバーとのやりとりのイメージ

 WebサーバーでPHPプログラムが動作するとき、Webブラウザーがリクエストした内容を解析して、送られてくるさまざまな情報を変数に格納して動作します。その後、処理を実行し、HTMLとして応答を返します。次のような情報が変数に格納されます。

変数名 内容
$_COOKIE クッキー情報の連想配列
$_ENV 環境変数の連想配列
$_FILES アップロードされるファイルの連想配列
$_GET URLパラメーターで渡されたデータの連想配列
$_POST フォームによる送信で送られるデータの連想配列
$_REQUEST $_GET、$_POST、$_COOKIEをまとめた連想配列
$_SESSION 現在有効なセッション情報の連想配列
主な定義済みの変数

 この変数の中から、「$_ENV」変数を見てみましょう。

○ プロジェクト

 プロジェクトを作成して確認してみましょう。

プロジェクトの種類 PHPプロジェクト
プロジェクト名 WebSample

○ ファイル

 次のPHPファイルをプロジェクトに追加してください。

ファイルの種類 PHPファイル
ファイル名 ENVTest.php

サンプルダウンロード

○ プログラム

 次のようにプログラムを記述してください。

ENVSample.php

  1. <?php
  2. var_dump($_ENV);

○ 実行結果

実行結果
実行結果

 この変数は、PHPの設定ファイル(php.ini)内で、次のような設定になっていないと、空の状態で表示されます。

variables_order = "EGPCS"

 次の図のように空で表示される場合は、この後の手順に従って設定ファイルを修正してください。

空で表示される
空で表示される

■ 空で表示される場合

 XAMPPコントロールパネルを開き、「Config」ボタンをクリックします。表示されるメニューから「PHP(php.ini)」を選択します。

XAMPPコントロールパネルから設定ファイルを開く
XAMPPコントロールパネルから設定ファイルを開く

 次の図のようにテキストエディタ―が起動するので、698行目付近にある「variables_order = “GPCS”」を「variables_order = “EGPCS”」に変更し、上書き保存し、閉じます。その後、Apatcheを再起動し、再びENVTest.phpを実行してください。$_ENVにデータがセットされ、表示されるようになります。

php.iniを変更する
php.iniを変更する

次へ