Heim  >  Artikel  >  Backend-Entwicklung  >  Was bedeutet session_start() in PHP?

Was bedeutet session_start() in PHP?

青灯夜游
青灯夜游Original
2022-03-07 11:08:576101Durchsuche

In PHP bedeutet session_start() „Sitzung starten“ und ist eine integrierte Funktion, die zum Erstellen einer neuen Sitzung oder zur Wiederverwendung einer vorhandenen Sitzung verwendet wird. Die Syntax lautet „session_start($array);“ und gibt true zurück, wenn die Die Sitzung wurde erfolgreich gestartet. Andernfalls wird „false“ zurückgegeben.

Was bedeutet session_start() in PHP?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

In PHP bedeutet session_start() „Sitzung starten“.

Syntax:

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

session_start()-Funktion erstellt eine neue Sitzung oder verwendet eine vorhandene Sitzung wieder. Wenn eine Sitzungs-ID per GET oder POST oder mithilfe eines Cookies übermittelt wird, wird die bestehende Sitzung wiederverwendet.

Parameter:

  • $options: Dieser Parameter ist ein assoziatives Array. Sofern angegeben, werden die Konfigurationselemente in der Sitzungskonfigurationsanweisung mit den darin enthaltenen Elementen überschrieben. Die Schlüssel in diesem Array müssen nicht das Sitzungspräfix enthalten.

    Zusätzlich zu den regulären Sitzungskonfigurationsindikatoren können Sie auch read_and_close-Optionen in dieses Array aufnehmen. Wenn der Wert dieser Option auf „true“ gesetzt ist, wird die Sitzungsdatei sofort nach dem Lesen geschlossen, wodurch unnötige Dateisperren vermieden werden, wenn sich die Sitzungsdaten nicht geändert haben.

Wenn die Sitzung automatisch oder manuell über session_start() startet, ruft PHP intern die Open- und Read-Callback-Funktionen des Sitzungsmanagers auf. Der Sitzungsmanager kann der PHP-Standard sein, er kann von einer Erweiterung (SQLite- oder Memcached-Erweiterung) bereitgestellt werden oder es kann ein benutzerdefinierter Sitzungsmanager sein, der durch session_set_save_handler() festgelegt wird. Wenn vorhandene Sitzungsdaten (in einem speziellen Serialisierungsformat gespeichert) von der Leserückruffunktion zurückgegeben werden, deserialisiert PHP die Daten automatisch und füllt die superglobale Variable $_SESSION.

Um benannte Sitzungen zu verwenden, rufen Sie bitte die Funktion session_name() auf, bevor Sie die Funktion session_start() aufrufen.

Wenn die Option session.use_trans_sid aktiviert ist, registriert die Funktion session_start() einen internen Ausgabemanager, der das Umschreiben der URL abschließt.

Wenn der Benutzer die Funktionen ob_start() und ob_gzhandler zusammen verwendet, wirkt sich die Reihenfolge, in der die Funktionen aufgerufen werden, auf die Ausgabeergebnisse aus. Beispielsweise muss die Funktion ob_gzhandler aufgerufen werden, um die Registrierung abzuschließen, bevor eine Sitzung gestartet wird.

  • Rückgabewert: true, wenn die Sitzung erfolgreich gestartet wurde, andernfalls false.

Beispiel 1: Nachdem

<?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 angefordert hat, enthält die zweite Seite page2.php Sitzungsdaten. Weitere Informationen zu Sitzungs-ID-Übertragungen finden Sie in der Sitzungsreferenz, die eine detaillierte Beschreibung der konstanten SID enthält.

Beispiel 2: Timeout-Einstellung für das Überschreiben von Cookies

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

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas bedeutet session_start() in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet leer in PHP?Nächster Artikel:Was bedeutet leer in PHP?