ホームページ  >  記事  >  バックエンド開発  >  PHPでのsession_start()は何を意味しますか

PHPでのsession_start()は何を意味しますか

青灯夜游
青灯夜游オリジナル
2022-03-07 11:08:576111ブラウズ

PHP では、session_start() は「セッションの開始」を意味し、新しいセッションの作成または既存のセッションの再利用に使用される組み込み関数です。構文は「session_start($array);」で、正常に開始されました。セッションは true を返し、それ以外の場合は false を返します。

PHPでのsession_start()は何を意味しますか

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php では、session_start( ) は「会話を始める」という意味です。

構文:

session_start(array $options = array()): bool

session_start() 関数は、新しいセッションを作成するか、既存のセッションを再利用します。セッション ID が GET または POST、または Cookie を使用して送信された場合、既存のセッションが再利用されます。

パラメータ:

  • $options: このパラメータは連想配列であり、指定された場合、セッションは項目で上書きされます。その中には、設定手順の設定項目が含まれています。この配列内のキーには、session. プレフィックスを含める必要はありません。

    通常のセッション構成手順に加えて、この配列に read_and_close オプションを含めることもできます。このオプションの値が true に設定されている場合、セッション ファイルは読み取り後すぐに閉じられるため、セッション データが変更されていないときの不必要なファイル ロックが回避されます。

セッションが自動または session_start() を通じて手動で開始されると、PHP は内部でセッション マネージャーの open コールバック関数と read コールバック関数を呼び出します。セッション マネージャーは、PHP のデフォルトであるか、拡張機能 (SQLite または Memcached 拡張機能) によって提供されるか、または session_set_save_handler() によって設定されるユーザー定義のセッション マネージャーである可能性があります。読み取りコールバック関数によって返された既存のセッション データ (特殊なシリアル化形式を使用して保存された) を使用すると、PHP はデータを自動的に逆シリアル化し、$_SESSION スーパー グローバル変数に値を設定します。

名前付きセッションを使用するには、session_start() 関数を呼び出す前に session_name() 関数を呼び出します。

session.use_trans_sid オプションが有効な場合、session_start() 関数は内部出力マネージャーを登録し、URL の書き換えが完了します。

ユーザーが ob_start() 関数と ob_gzhandler 関数を一緒に使用する場合、関数が呼び出される順序は出力結果に影響します。たとえば、セッションを開始する前に、ob_gzhandler 関数を呼び出して登録を完了する必要があります。

  • #戻り値: セッションが正常に開始された場合は true を返し、それ以外の場合は false を返します。

例 1:

<?php
// page1.php

session_start();

echo &#39;Welcome to page #1&#39;;

$_SESSION[&#39;favcolor&#39;] = &#39;green&#39;;
$_SESSION[&#39;animal&#39;]   = &#39;cat&#39;;
$_SESSION[&#39;time&#39;]     = time();

// 如果使用 cookie 方式传送会话 ID
echo &#39;<br /><a href="page2.php">page 2</a>&#39;;

// 如果不是使用 cookie 方式传送会话 ID,则使用 URL 改写的方式传送会话 ID
echo &#39;<br /><a href="page2.php?&#39; . SID . &#39;">page 2</a>&#39;;
?>

page1.php をリクエストした後、2 番目のページ page2.php にセッション データが含まれます。セッション ID の送信の詳細については、「セッション リファレンス」を参照してください。リファレンス ページには、定数 SID の詳細な説明が記載されています。

例 2: Cookie タイムアウト設定の上書き

<?php
// 设置 cookie 的有效时间为 1 天
session_start([
    &#39;cookie_lifetime&#39; => 86400,
]);
?>

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPでのsession_start()は何を意味しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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