SessionHandler::open

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::open โ€” ใ‚ปใƒƒใ‚ทใƒงใƒณใ‚’้–‹ๅง‹ใ™ใ‚‹

่ชฌๆ˜Ž

public function SessionHandler::open(string $path, string $name): bool

ๆ–ฐใ—ใ„ใ‚ปใƒƒใ‚ทใƒงใƒณใ‚’ไฝœๆˆใ™ใ‚‹ใ‹ใ€ใ‚ใ‚‹ใ„ใฏๆ—ขๅญ˜ใฎใ‚ปใƒƒใ‚ทใƒงใƒณใ‚’ๅ†ๅบฆๅˆๆœŸๅŒ–ใ—ใพใ™ใ€‚ PHP ใŒ่‡ชๅ‹•็š„ใซใ‚ปใƒƒใ‚ทใƒงใƒณใ‚’้–‹ๅง‹ใ•ใ›ใŸใ‚Šใ€ใ‚ใ‚‹ใ„ใฏ session_start() ใ‚’ๅฎŸ่กŒใ—ใŸใจใใซใ‚ณใƒผใƒซใ•ใ‚Œใพใ™ใ€‚

ใ“ใฎใƒกใ‚ฝใƒƒใƒ‰ใฏใ€ใ“ใฎใƒใƒณใƒ‰ใƒฉใŒ session_set_save_handler() ใง่จญๅฎšใ•ใ‚Œใ‚‹ๅ‰ใซ ini ่จญๅฎš session.save_handler ใงๅฎš็พฉใ•ใ‚Œใฆใ„ใŸ PHP ใฎไฟๅญ˜ใƒใƒณใƒ‰ใƒฉใ‚’ใƒฉใƒƒใƒ—ใ—ใพใ™ใ€‚

ใ“ใฎใ‚ฏใƒฉใ‚นใ‚’็ถ™ๆ‰ฟใ—ใฆๆ‹กๅผตใ™ใ‚‹ๅ ดๅˆใฏใ€่ฆชใฎ open ใƒกใ‚ฝใƒƒใƒ‰ใ‚’ใ‚ณใƒผใƒซใ™ใ‚Œใฐใ“ใฎใƒกใ‚ฝใƒƒใƒ‰ใฎใƒฉใƒƒใƒ‘ใƒผใ‚’ๅฎŸ่กŒใงใใ€ใใ‚Œใซไป˜้šใ™ใ‚‹ๅ†…้ƒจใ‚ณใƒผใƒซใƒใƒƒใ‚ฏใ‚‚ๅฎŸ่กŒใ•ใ‚Œใพใ™ใ€‚ ใ“ใ†ใ™ใ‚Œใฐใ€ใƒกใ‚ฝใƒƒใƒ‰ใ‚’ใ‚ชใƒผใƒใƒผใƒฉใ‚คใƒ‰ใ—ใŸใ‚Šๅ‡ฆ็†ใ‚’ๆจชๅ–ใ‚Šใ—ใฆใƒ•ใ‚ฃใƒซใ‚ฟใ‚’่ฟฝๅŠ ใ—ใŸใ‚Šใงใใพใ™ใ€‚

ใ“ใฎใƒกใ‚ฝใƒƒใƒ‰ใซ้–ขใ™ใ‚‹่ฉณ็ดฐใฏใ€ SessionHandlerInterface::open() ใฎใƒ‰ใ‚ญใƒฅใƒกใƒณใƒˆใ‚’ๅ‚็…งใใ ใ•ใ„ใ€‚

ใƒ‘ใƒฉใƒกใƒผใ‚ฟ

path

ใ‚ปใƒƒใ‚ทใƒงใƒณใ‚’ๆ ผ็ด/ๅ–ๅพ—ใ™ใ‚‹ใƒ‘ใ‚นใ€‚

name

ใ‚ปใƒƒใ‚ทใƒงใƒณๅใ€‚

ๆˆปใ‚Šๅ€ค

่ฟ”ใ‚Šๅ€ค (้€šๅธธใฏใ€true ใŒๆˆๅŠŸใใ—ใฆ false ใŒๅคฑๆ•—ใ‚’่กจใ—ใพใ™)ใ€‚ใ“ใฎๅ€คใฏ PHP ใงๅ†…้ƒจ็š„ใซๅ‡ฆ็†ใ•ใ‚Œใ‚‹ใ‚‚ใฎใงใ‚ใ‚‹ใ“ใจใซๆณจๆ„ใ—ใพใ—ใ‚‡ใ†ใ€‚

ๅ‚่€ƒ

๏ผ‹add a note

User Contributed Notes 1 note

up
0
guy dot sartorelli at silverstripe dot com ยถ
4 months ago
If you are creating a custom session handler that uses files, note that if you have set the `open_basedir` configuration and the session file path is not inside a path declared in that configuration, you will get errors when trying to interact with the session files.

The built-in session save handler is able to bypass `open_basedir`, but your code must respect it.