Server IP : / Your IP : 10.244.4.16 [ Web Server : nginx/1.25.3 System : Linux escuela-portal-app-54f56585bc-kst6g 5.15.0-1084-azure #93-Ubuntu SMP Sat Mar 15 14:12:29 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.2.13 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, Domains : 0 Domains MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /proc/789/cwd/app/vendor/laravel/framework/src/Illuminate/Session/ |
Upload File : |
<?php namespace Illuminate\Session; use Illuminate\Filesystem\Filesystem; use Illuminate\Support\Carbon; use SessionHandlerInterface; use Symfony\Component\Finder\Finder; class FileSessionHandler implements SessionHandlerInterface { /** * The filesystem instance. * * @var \Illuminate\Filesystem\Filesystem */ protected $files; /** * The path where sessions should be stored. * * @var string */ protected $path; /** * The number of minutes the session should be valid. * * @var int */ protected $minutes; /** * Create a new file driven handler instance. * * @param \Illuminate\Filesystem\Filesystem $files * @param string $path * @param int $minutes * @return void */ public function __construct(Filesystem $files, $path, $minutes) { $this->path = $path; $this->files = $files; $this->minutes = $minutes; } /** * {@inheritdoc} * * @return bool */ public function open($savePath, $sessionName): bool { return true; } /** * {@inheritdoc} * * @return bool */ public function close(): bool { return true; } /** * {@inheritdoc} * * @return string|false */ public function read($sessionId): string|false { if ($this->files->isFile($path = $this->path.'/'.$sessionId) && $this->files->lastModified($path) >= Carbon::now()->subMinutes($this->minutes)->getTimestamp()) { return $this->files->sharedGet($path); } return ''; } /** * {@inheritdoc} * * @return bool */ public function write($sessionId, $data): bool { $this->files->put($this->path.'/'.$sessionId, $data, true); return true; } /** * {@inheritdoc} * * @return bool */ public function destroy($sessionId): bool { $this->files->delete($this->path.'/'.$sessionId); return true; } /** * {@inheritdoc} * * @return int */ public function gc($lifetime): int { $files = Finder::create() ->in($this->path) ->files() ->ignoreDotFiles(true) ->date('<= now - '.$lifetime.' seconds'); $deletedSessions = 0; foreach ($files as $file) { $this->files->delete($file->getRealPath()); $deletedSessions++; } return $deletedSessions; } }