作業のポイント
- 依存パッケージのアップデートするには、 composer.json を編集し、
composer update
すればよい。
コードの変更点。 PHP、依存パッケージのアップデート
$ git diff composer.json
diff --git a/composer.json b/composer.json
index 40bf0ea..2e0dfa8 100644
--- a/composer.json
+++ b/composer.json
@@ -5,9 +5,9 @@
"license": "MIT",
"type": "project",
"require": {
- "php": ">=7.0.0",
- "fideloper/proxy": "~3.3",
- "laravel/framework": "5.5.*",
+ "php": ">=7.1.3",
+ "fideloper/proxy": "^4.0",
+ "laravel/framework": "5.6.*",
"laravel/tinker": "~1.0"
},
"require-dev": {
@@ -18,7 +18,7 @@
"krlove/eloquent-model-generator": "^1.3",
"mockery/mockery": "~1.0",
"orangehill/iseed": "^2.6",
- "phpunit/phpunit": "~6.0",
+ "phpunit/phpunit": "^7.0",
"symfony/thanks": "^1.0",
"xethron/migrations-generator": "^2.0"
},
$
コードの変更点。ハッシュ
新しい設定ファイル config/hashing.php
https://github.com/laravel/laravel/blob/master/config/hashing.php
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Hash Driver
|--------------------------------------------------------------------------
|
| This option controls the default hash driver that will be used to hash
| passwords for your application. By default, the bcrypt algorithm is
| used; however, you remain free to modify this option if you wish.
|
| Supported: "bcrypt", "argon", "argon2id"
|
*/
'driver' => 'bcrypt',
/*
|--------------------------------------------------------------------------
| Bcrypt Options
|--------------------------------------------------------------------------
|
| Here you may specify the configuration options that should be used when
| passwords are hashed using the Bcrypt algorithm. This will allow you
| to control the amount of time it takes to hash the given password.
|
*/
'bcrypt' => [
'rounds' => env('BCRYPT_ROUNDS', 10),
],
/*
|--------------------------------------------------------------------------
| Argon Options
|--------------------------------------------------------------------------
|
| Here you may specify the configuration options that should be used when
| passwords are hashed using the Argon algorithm. These will allow you
| to control the amount of time it takes to hash the given password.
|
*/
'argon' => [
'memory' => 1024,
'threads' => 2,
'time' => 2,
],
];
コードの変更点。ログ
新しい設定ファイル config/logging.php
https://github.com/laravel/laravel/blob/master/config/logging.php
<?php
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
return [
/*
|--------------------------------------------------------------------------
| Default Log Channel
|--------------------------------------------------------------------------
|
| This option defines the default log channel that gets used when writing
| messages to the logs. The name specified in this option should match
| one of the channels defined in the "channels" configuration array.
|
*/
'default' => env('LOG_CHANNEL', 'stack'),
/*
|--------------------------------------------------------------------------
| Log Channels
|--------------------------------------------------------------------------
|
| Here you may configure the log channels for your application. Out of
| the box, Laravel uses the Monolog PHP logging library. This gives
| you a variety of powerful log handlers / formatters to utilize.
|
| Available Drivers: "single", "daily", "slack", "syslog",
| "errorlog", "monolog",
| "custom", "stack"
|
*/
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily'],
'ignore_exceptions' => false,
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 14,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => 'Laravel Log',
'emoji' => ':boom:',
'level' => 'critical',
],
'papertrail' => [
'driver' => 'monolog',
'level' => 'debug',
'handler' => SyslogUdpHandler::class,
'handler_with' => [
'host' => env('PAPERTRAIL_URL'),
'port' => env('PAPERTRAIL_PORT'),
],
],
'stderr' => [
'driver' => 'monolog',
'handler' => StreamHandler::class,
'formatter' => env('LOG_STDERR_FORMATTER'),
'with' => [
'stream' => 'php://stderr',
],
],
'syslog' => [
'driver' => 'syslog',
'level' => 'debug',
],
'errorlog' => [
'driver' => 'errorlog',
'level' => 'debug',
],
],
]
5.5 のログ設定は削除
$ git diff config/app.php
diff --git a/config/app.php b/config/app.php
index 0e4ebed..b16e7f7 100644
--- a/config/app.php
+++ b/config/app.php
@@ -108,23 +108,6 @@ return [
'cipher' => 'AES-256-CBC',
- /*
- |--------------------------------------------------------------------------
- | Logging Configuration
- |--------------------------------------------------------------------------
- |
- | Here you may configure the log settings for your application. Out of
- | the box, Laravel uses the Monolog PHP logging library. This gives
- | you a variety of powerful log handlers / formatters to utilize.
- |
- | Available Settings: "single", "daily", "syslog", "errorlog"
- |
- */
-
- 'log' => env('APP_LOG', 'single'),
-
- 'log_level' => env('APP_LOG_LEVEL', 'debug'),
-
/*
|--------------------------------------------------------------------------
| Autoloaded Service Providers
$
コードの変更点。信頼するプロキシ
$ git diff app/Http/Middleware/TrustProxies.php
diff --git a/app/Http/Middleware/TrustProxies.php b/app/Http/Middleware/TrustProxies.php
index ef1c00d..6a0a1a4 100644
--- a/app/Http/Middleware/TrustProxies.php
+++ b/app/Http/Middleware/TrustProxies.php
@@ -19,11 +19,5 @@ class TrustProxies extends Middleware
*
* @var array
*/
- protected $headers = [
- Request::HEADER_FORWARDED => 'FORWARDED',
- Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR',
- Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST',
- Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT',
- Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO',
- ];
+ protected $headers = Request::HEADER_X_FORWARDED_ALL;
}
$
おわりに
開発してきたページにアクセスし、問題なく動くことを確認しました。
軽くの確認でしたけれども、多分大丈夫でしょう。
思った以上に時間がかかりました。 5.6 から 5.7 へのアップグレードもこんな感じなのでしょうか。
やってみたいと思います。
以上です。