composerでlaravel5.3を入れる

まず、5.2と同じようにやってみる。
[vagrant@localhost laravel]$ curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading…

Composer (version 1.8.5) successfully installed to: /home/vagrant/local/app/laravel/composer.phar
Use it: php composer.phar

[vagrant@localhost laravel]$ php composer.phar create-project laravel/laravel blog “5.3.*”

[UnexpectedValueException]
Could not parse version constraint “5.3.*”: Invalid version string ““5.3.*””

create-project [-s|–stability STABILITY] [–prefer-source] [–prefer-dist] [–repository REPOSITORY] [–repository-url REPOSITORY-URL] [–dev] [–no-dev] [–no-custom-installers] [–no-scripts] [–no-progress] [–no-secure-http] [–keep-vcs] [–remove-vcs] [–no-install] [–ignore-platform-reqs] [–] [] [] []

あれ、エラー??

公式を見ます。
https://readouble.com/laravel/5.3/ja/installation.html

ページ中段の「Composer Create-Project」を見ます。

[vagrant@localhost laravel]$ php composer.phar create-project –prefer-dist laravel/laravel blog “5.3.*”
Installing laravel/laravel (v5.3.30)
– Installing laravel/laravel (v5.3.30): Downloading (100%)

[vagrant@localhost blog]$ php artisan -V
Laravel Framework version 5.3.31

The “-o” option does not exist.

[vagrant@localhost blog]$ php artisan serve -host 192.168.35.10 -port 8000

[Symfony\Component\Console\Exception\RuntimeException]
The “-o” option does not exist.

ん?あれ、なんかおかしい。
Github issueを見てみましょう。
https://github.com/composer/composer/issues/6645

ハイフン”-“は一つではなく、複数と記載がありますね。
[vagrant@localhost blog]$ php artisan serve –host 192.168.35.10 –port 8000
Laravel development server started on http://192.168.35.10:8000/

お、とりあえず行けました! app/Http/Controllers/Controller.php はいいのかな。
とりあえず、5.2→5.3は良しとして、続いて5.3→5.4をやろうと思います。

laravel5.2→5.3 boot関数の引数削除

app/Providers/AuthServiceProvider.php<>

    public function boot(GateContract $gate)
    {
        $this->registerPolicies($gate);

        //
    }

public function boot()
    {
        $this->registerPolicies();

        //
    }

EvenServiceProvider.php

public function boot(DispatcherContract $events)
    {
        parent::boot($events);

        //
    }

public function boot()
    {
        parent::boot();

        //
    }

RouteServiceProvider.php

public function boot(Router $router)
    {
        //

        parent::boot($router);
    }
public function boot()
    {
        //

        parent::boot();
    }

再度アップデートしてみる。
[vagrant@localhost blog]$ php composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Generating optimized class loader
The compiled class file has been removed.

とりあえずエラーは出なくなりましたね。

laravel5.2→5.3へのアップグレード

まず、composer.jsonを見てみます。

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "symfony/css-selector": "2.8.*|3.0.*",
        "symfony/dom-crawler": "2.8.*|3.0.*"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ],
        "post-install-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postInstall",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postUpdate",
            "php artisan optimize"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

以下を修正します。
“laravel/framework”: “5.3.*”
“symfony/css-selector”: “2.8.*|3.1.*”,
“symfony/dom-crawler”: “2.8.*|3.1.*”

updateします。
[vagrant@localhost blog]$ php composer.phar update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 15 updates, 0 removals
– Updating symfony/var-dumper (v3.0.9 => v3.1.10): Downloading (100%)
– Updating symfony/translation (v3.0.9 => v3.1.10): Downloading (100%)
– Updating symfony/routing (v3.0.9 => v3.1.10): Downloading (100%)
– Updating symfony/process (v3.0.9 => v3.1.10): Downloading (100%)
– Updating symfony/debug (v3.0.9 => v3.1.10): Downloading (100%)
– Updating paragonie/random_compat (v1.4.3 => v2.0.18): Downloading (100%) – Updating symfony/http-foundation (v3.0.9 => v3.1.10): Downloading (100%) – Updating symfony/http-kernel (v3.0.9 => v3.1.10): Downloading (100%)
– Updating symfony/finder (v3.0.9 => v3.1.10): Downloading (100%)
– Updating symfony/console (v3.0.9 => v3.1.10): Downloading (100%)
– Installing ramsey/uuid (3.8.0): Loading from cache
– Updating nikic/php-parser (v2.1.1 => v3.1.5): Downloading (100%)
– Updating psy/psysh (v0.7.2 => v0.8.18): Downloading (100%)
– Updating laravel/framework (v5.2.45 => v5.3.31): Downloading (100%)
– Updating symfony/css-selector (v3.0.9 => v3.1.10): Downloading (100%)
– Updating symfony/dom-crawler (v3.0.9 => v3.1.10): Downloading (100%)
ramsey/uuid suggests installing ircmaxell/random-lib (Provides RandomLib for use with the RandomLibAdapter)
ramsey/uuid suggests installing ext-libsodium (Provides the PECL libsodium extension for use with the SodiumRandomGenerator)
ramsey/uuid suggests installing ext-uuid (Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator)
ramsey/uuid suggests installing moontoast/math (Provides support for converting UUID to 128-bit integer (in string form).)
ramsey/uuid suggests installing ramsey/uuid-doctrine (Allows the use of Ramsey\Uuid\Uuid as Doctrine field type.)
ramsey/uuid suggests installing ramsey/uuid-console (A console application for generating UUIDs with ramsey/uuid)
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Writing lock file
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize

[ErrorException]
Declaration of App\Providers\EventServiceProvider::boot(Illuminate\Contracts\Events\Dispatcher $events) should be compatible with Illuminate\Foundation\Support\Providers\EventServiceProvider::boot()

Script php artisan optimize handling the post-update-cmd event returned with error code 1

なにいいいいいいいいいいいいいいいいいいいいいいいい
app/Providers/AuthServiceProvider.php
app/Providers/EventServiceProvider.php
app/Providers/RouteServiceProvider.php
boot関数が変わったようです。 なるほどー、こうやって修正していくのね。。

centosにlaravel5.2をインストールする

まずcomposerを入れます

[vagrant@localhost laravel]$ curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading...

Composer (version 1.8.4) successfully installed to: /home/vagrant/local/app/laravel/composer.phar
Use it: php composer.phar

[vagrant@localhost laravel]$ ls
composer.phar

続いてcomposerを入れます。
[vagrant@localhost laravel]$ php composer.phar create-project laravel/laravel blog “5.2.*”
Installing laravel/laravel (v5.2.31)
– Installing laravel/laravel (v5.2.31): Downloading (100%)
Created project in blog
> php -r “copy(‘.env.example’, ‘.env’);”
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 57 installs, 0 updates, 0 removals
– Installing symfony/polyfill-ctype (v1.11.0): Downloading (100%)
– Installing vlucas/phpdotenv (v2.6.1): Downloading (100%)
– Installing symfony/polyfill-mbstring (v1.11.0): Downloading (100%)
– Installing symfony/var-dumper (v3.0.9): Downloading (100%)
– Installing symfony/translation (v3.0.9): Downloading (100%)
– Installing symfony/routing (v3.0.9): Downloading (100%)
– Installing symfony/process (v3.0.9): Downloading (100%)
– Installing symfony/polyfill-util (v1.11.0): Downloading (100%)
– Installing symfony/polyfill-php56 (v1.11.0): Downloading (100%)
– Installing psr/log (1.1.0): Downloading (100%)
– Installing symfony/debug (v3.0.9): Downloading (100%)
– Installing paragonie/random_compat (v1.4.3): Downloading (100%)
– Installing symfony/http-foundation (v3.0.9): Downloading (100%)
– Installing symfony/event-dispatcher (v3.4.24): Downloading (100%)
– Installing symfony/http-kernel (v3.0.9): Downloading (100%)
– Installing symfony/finder (v3.0.9): Downloading (100%)
– Installing symfony/console (v3.0.9): Downloading (100%)
– Installing swiftmailer/swiftmailer (v5.4.12): Downloading (100%)
– Installing jakub-onderka/php-console-color (v0.2): Loading from cache
– Installing jakub-onderka/php-console-highlighter (v0.3.2): Loading from cache
– Installing dnoegel/php-xdg-base-dir (0.1): Loading from cache
– Installing nikic/php-parser (v2.1.1): Downloading (100%)
– Installing psy/psysh (v0.7.2): Downloading (100%)
– Installing nesbot/carbon (1.36.2): Downloading (100%)
– Installing mtdowling/cron-expression (v1.2.1): Downloading (100%)
– Installing monolog/monolog (1.24.0): Downloading (100%)
– Installing league/flysystem (1.0.51): Downloading (100%)
– Installing jeremeamia/superclosure (2.4.0): Downloading (100%)
– Installing doctrine/inflector (v1.3.0): Loading from cache
– Installing classpreloader/classpreloader (3.2.0): Downloading (100%)
– Installing laravel/framework (v5.2.45): Downloading (100%)
– Installing fzaninotto/faker (v1.8.0): Loading from cache
– Installing hamcrest/hamcrest-php (v1.2.2): Downloading (100%)
– Installing mockery/mockery (0.9.11): Downloading (100%)
– Installing sebastian/version (1.0.6): Downloading (100%)
– Installing sebastian/global-state (1.1.1): Downloading (100%)
– Installing sebastian/recursion-context (1.0.5): Downloading (100%)
– Installing sebastian/exporter (1.2.2): Downloading (100%)
– Installing sebastian/environment (1.3.8): Downloading (100%)
– Installing sebastian/diff (1.4.3): Downloading (100%)
– Installing sebastian/comparator (1.2.4): Downloading (100%)
– Installing symfony/yaml (v3.3.18): Downloading (100%)
– Installing doctrine/instantiator (1.2.0): Downloading (100%)
– Installing webmozart/assert (1.4.0): Loading from cache
– Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
– Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
– Installing phpdocumentor/reflection-docblock (4.3.0): Loading from cache
– Installing phpspec/prophecy (1.8.0): Loading from cache
– Installing phpunit/php-text-template (1.2.1): Loading from cache
– Installing phpunit/phpunit-mock-objects (2.3.8): Downloading (100%)
– Installing phpunit/php-timer (1.0.9): Downloading (100%)
– Installing phpunit/php-token-stream (1.4.12): Downloading (100%)
– Installing phpunit/php-file-iterator (1.4.5): Loading from cache
– Installing phpunit/php-code-coverage (2.2.4): Downloading (100%)
– Installing phpunit/phpunit (4.8.36): Downloading (100%)
– Installing symfony/css-selector (v3.0.9): Downloading (100%)
– Installing symfony/dom-crawler (v3.0.9): Downloading (100%)
symfony/var-dumper suggests installing ext-symfony_debug
symfony/translation suggests installing symfony/config
symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader)
symfony/routing suggests installing symfony/expression-language (For using expression matching)
symfony/routing suggests installing doctrine/annotations (For using the annotation loader)
symfony/routing suggests installing symfony/dependency-injection (For loading routes from a service)
paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
symfony/event-dispatcher suggests installing symfony/dependency-injection
symfony/http-kernel suggests installing symfony/browser-kit
symfony/http-kernel suggests installing symfony/class-loader
symfony/http-kernel suggests installing symfony/config
symfony/http-kernel suggests installing symfony/dependency-injection
psy/psysh suggests installing ext-posix (If you have PCNTL, you’ll want the POSIX extension as well.)
psy/psysh suggests installing ext-pdo-sqlite (The doc command requires SQLite to work.)
nesbot/carbon suggests installing friendsofphp/php-cs-fixer (Needed for the `composer phpcs` command. Allow to automatically fix code style.)
nesbot/carbon suggests installing phpstan/phpstan (Needed for the `composer phpstan` command. Allow to detect potential errors.)
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server)
monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver)
monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem)
league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files)
league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage)
league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage)
league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2)
league/flysystem suggests installing league/flysystem-aws-s3-v3 (Allows you to use S3 storage with AWS SDK v3)
league/flysystem suggests installing spatie/flysystem-dropbox (Allows you to use Dropbox storage)
league/flysystem suggests installing srmklive/flysystem-dropbox-v2 (Allows you to use Dropbox storage for PHP 5 applications)
league/flysystem suggests installing league/flysystem-cached-adapter (Flysystem adapter decorator for metadata caching)
league/flysystem suggests installing league/flysystem-sftp (Allows you to use SFTP server storage via phpseclib)
league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter)
laravel/framework suggests installing aws/aws-sdk-php (Required to use the SQS queue driver and SES mail driver (~3.0).)
laravel/framework suggests installing doctrine/dbal (Required to rename columns and drop SQLite columns (~2.4).)
laravel/framework suggests installing guzzlehttp/guzzle (Required to use the Mailgun and Mandrill mail drivers and the ping methods on schedules (~5.3|~6.0).)
laravel/framework suggests installing league/flysystem-aws-s3-v3 (Required to use the Flysystem S3 driver (~1.0).)
laravel/framework suggests installing league/flysystem-rackspace (Required to use the Flysystem Rackspace driver (~1.0).)
laravel/framework suggests installing pda/pheanstalk (Required to use the beanstalk queue driver (~3.0).)
laravel/framework suggests installing predis/predis (Required to use the redis cache and queue drivers (~1.0).)
laravel/framework suggests installing pusher/pusher-php-server (Required to use the Pusher broadcast driver (~2.0).)
laravel/framework suggests installing symfony/psr-http-message-bridge (Required to use psr7 bridging features (0.2.*).)
sebastian/global-state suggests installing ext-uopz (*)
phpunit/phpunit-mock-objects suggests installing ext-soap (*)
phpunit/php-code-coverage suggests installing ext-xdebug (>=2.2.1)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Writing lock file
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Generating optimized class loader
> php artisan key:generate
Application key [base64:sUn17M/EiRwxEa7zX4KeegTu28WLYvPgTY47Sdj85/A=] set successfully.
[vagrant@localhost laravel]$ ls
blog composer.phar

入りました。

Laravel cache clear command

Even after restarting Apache, sometimes has internal chaches that don’t reflect the updated program.

php artisan cache: clear
php artisan config: clear
php artisan route: clear
php artisan view clear

If you want to do autoloading and re-optimize, you want to recreate the cache entirely.

composer dump-autoload
php artisan clear-compiled
php artisan optimize
php artisan config:cache

When recreating a new key and completely invalidate the previous cache.

php artisan key:generate

Laravel log

storate/logs/laravel.log

[2018-11-17 11:22:12] local.ERROR: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`)) {"exception":"[object] (Illuminate\\Database\\QueryException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`)) at /home/vagrant/local/zeus/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664, PDOException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes at /home/vagrant/local/zeus/vendor/laravel/framework/src/Illuminate/Database/Connection.php:458)
[stacktrace]

Laravel5.7 403エラー forbiddenが出た時

local laravelで開発していて

403
sorry, you are forbidden to access this page.

forbidden って、読んで字のごとく、禁止されているって意味。なんだろうこれは?
– DNS設定していない
– サーバーから制限
– パーミッション(権限・属性)の設定ミス
– .htaccessの設定ミス
– サーバー側の障害
– WAF設定

ローカル, artisanで開発しているので、サーバ側が原因とは考えにくい。routing(web.php)か?

あ!?

custom requestのauthorizedがfalseのままだった。

公式のドキュメントにも記載がありますね。
https://readouble.com/laravel/5.5/ja/validation.html
>authorizeメソッドがfalseを返すと、403ステータスコードのHTTPレスポンスが自動的に返され、コントローラメソッドは実行されません。

public function authorize()
    {
        return true;
    }

trueに変更すると、403が消えました。
簡単ね

### 1冊やっておいても損はない本

Laravel セッションドライバ(session driver)

セッションはstorage/framework/sessionsに保存される。

セッションは暗号化され、クッキーに保存される。
セッションはdatabaseに保存される。

開発環境ではfileセッションだが、本番環境ではDBやredisに入れるとあるぞ。

まず、routingから設定します。
routes/web.php

Route::get('/put-data', function(){
	session()->put(['email'=> 'example@gmail.com']);
	return session()->get('email');
});
Route::get('/list-data', function(){
	return session()->all();
});

サーバーを立てます。
[vagrant@localhost zeus]$ php artisan serve –host=192.168.35.10
Laravel development server started:

続いて、/put-dataにアクセスします。

次に、/list-dataにアクセスします。
セッションに保存されているデータがjson形式で表示されます。
{“_token”:”Lc4QKtUxDWzNI2IelKkLcylMfBSB2jgfjbWU8mwD”,”email”:”example@gmail.com”,”_previous”:{“url”:”http:\/\/192.168.35.10:8000\/put-data”},”_flash”:{“old”:[],”new”:[]}}


token, email, _previous, _flashがキーになっていそうですね。

Laravel 5.7のHTTPセッションの設定を見てみる(config.session.php)

セッションとは、ユーザがWebサイトを表示して離脱するまでの一連の流れ
訪問のvisitと同じ

Laravel5.7ではリクエスト間に渡りユーザに関する情報を保存するセッションが提供されている。
Laravel5.7 HTTPセッション

セッションの設定はconfig/session.phpにある。

session.phpの中身を見てみましょう。

return [

    /*
    |--------------------------------------------------------------------------
    | Default Session Driver
    |--------------------------------------------------------------------------
    |
    | This option controls the default session "driver" that will be used on
    | requests. By default, we will use the lightweight native driver but
    | you may specify any of the other wonderful drivers provided here.
    |
    | Supported: "file", "cookie", "database", "apc",
    |            "memcached", "redis", "array"
    |
    */

    'driver' => env('SESSION_DRIVER', 'file'),

    /*
    |--------------------------------------------------------------------------
    | Session Lifetime
    |--------------------------------------------------------------------------
    |
    | Here you may specify the number of minutes that you wish the session
    | to be allowed to remain idle before it expires. If you want them
    | to immediately expire on the browser closing, set that option.
    |
    */

    'lifetime' => env('SESSION_LIFETIME', 120),

    'expire_on_close' => false,

    /*
    |--------------------------------------------------------------------------
    | Session Encryption
    |--------------------------------------------------------------------------
    |
    | This option allows you to easily specify that all of your session data
    | should be encrypted before it is stored. All encryption will be run
    | automatically by Laravel and you can use the Session like normal.
    |
    */

    'encrypt' => false,

    /*
    |--------------------------------------------------------------------------
    | Session File Location
    |--------------------------------------------------------------------------
    |
    | When using the native session driver, we need a location where session
    | files may be stored. A default has been set for you but a different
    | location may be specified. This is only needed for file sessions.
    |
    */

    'files' => storage_path('framework/sessions'),

    /*
    |--------------------------------------------------------------------------
    | Session Database Connection
    |--------------------------------------------------------------------------
    |
    | When using the "database" or "redis" session drivers, you may specify a
    | connection that should be used to manage these sessions. This should
    | correspond to a connection in your database configuration options.
    |
    */

    'connection' => env('SESSION_CONNECTION', null),

    /*
    |--------------------------------------------------------------------------
    | Session Database Table
    |--------------------------------------------------------------------------
    |
    | When using the "database" session driver, you may specify the table we
    | should use to manage the sessions. Of course, a sensible default is
    | provided for you; however, you are free to change this as needed.
    |
    */

    'table' => 'sessions',

    /*
    |--------------------------------------------------------------------------
    | Session Cache Store
    |--------------------------------------------------------------------------
    |
    | When using the "apc" or "memcached" session drivers, you may specify a
    | cache store that should be used for these sessions. This value must
    | correspond with one of the application's configured cache stores.
    |
    */

    'store' => env('SESSION_STORE', null),

    /*
    |--------------------------------------------------------------------------
    | Session Sweeping Lottery
    |--------------------------------------------------------------------------
    |
    | Some session drivers must manually sweep their storage location to get
    | rid of old sessions from storage. Here are the chances that it will
    | happen on a given request. By default, the odds are 2 out of 100.
    |
    */

    'lottery' => [2, 100],

    /*
    |--------------------------------------------------------------------------
    | Session Cookie Name
    |--------------------------------------------------------------------------
    |
    | Here you may change the name of the cookie used to identify a session
    | instance by ID. The name specified here will get used every time a
    | new session cookie is created by the framework for every driver.
    |
    */

    'cookie' => env(
        'SESSION_COOKIE',
        str_slug(env('APP_NAME', 'laravel'), '_').'_session'
    ),

    /*
    |--------------------------------------------------------------------------
    | Session Cookie Path
    |--------------------------------------------------------------------------
    |
    | The session cookie path determines the path for which the cookie will
    | be regarded as available. Typically, this will be the root path of
    | your application but you are free to change this when necessary.
    |
    */

    'path' => '/',

    /*
    |--------------------------------------------------------------------------
    | Session Cookie Domain
    |--------------------------------------------------------------------------
    |
    | Here you may change the domain of the cookie used to identify a session
    | in your application. This will determine which domains the cookie is
    | available to in your application. A sensible default has been set.
    |
    */

    'domain' => env('SESSION_DOMAIN', null),

    /*
    |--------------------------------------------------------------------------
    | HTTPS Only Cookies
    |--------------------------------------------------------------------------
    |
    | By setting this option to true, session cookies will only be sent back
    | to the server if the browser has a HTTPS connection. This will keep
    | the cookie from being sent to you if it can not be done securely.
    |
    */

    'secure' => env('SESSION_SECURE_COOKIE', false),

    /*
    |--------------------------------------------------------------------------
    | HTTP Access Only
    |--------------------------------------------------------------------------
    |
    | Setting this value to true will prevent JavaScript from accessing the
    | value of the cookie and the cookie will only be accessible through
    | the HTTP protocol. You are free to modify this option if needed.
    |
    */

    'http_only' => true,

    /*
    |--------------------------------------------------------------------------
    | Same-Site Cookies
    |--------------------------------------------------------------------------
    |
    | This option determines how your cookies behave when cross-site requests
    | take place, and can be used to mitigate CSRF attacks. By default, we
    | do not enable this as other CSRF protection services are in place.
    |
    | Supported: "lax", "strict"
    |
    */

    'same_site' => null,

];

ドライバー
supported file, cookie, database, apc, memcached, redis, array
‘driver’ => env(‘SESSION_DRIVER’, ‘file’),
セッションライフタイム
‘lifetime’ => env(‘SESSION_LIFETIME’, 120),
‘expire_on_close’ => false,
暗号化
セッションを暗号化できる。
‘encrypt’ => false,
session file location
セッションを保存する場所
‘files’ => storage_path(‘framework/sessions’),
DB connection
‘connection’ => env(‘SESSION_CONNECTION’, null),
sessionを入れるDBテーブル
‘table’ => ‘sessions’,
Session Cache Store
‘store’ => env(‘SESSION_STORE’, null),
‘lottery’ => [2, 100],
session cookie name
‘cookie’ => env(
‘SESSION_COOKIE’,
str_slug(env(‘APP_NAME’, ‘laravel’), ‘_’).’_session’
),
session cookie path
‘path’ => ‘/’,
session cookie domain
‘domain’ => env(‘SESSION_DOMAIN’, null),
HTTPS Only Cookies
‘secure’ => env(‘SESSION_SECURE_COOKIE’, false),
HTTP Access Only
‘http_only’ => true,
Same-Site Cookies
‘same_site’ => null,