- 1. 概要
- 2. 状況
- 3. 対処
- 4. 備考
1. 概要
「Laravel Framework 8.83.27」を「Laravel Framework 12.9.0」へ移植していた時のことです。
2. 状況
「Laravel Framework 8.83.27」の方に、「fruitcake/laravel-cors」というパッケージがインストールされておりまして。
app/Http/Kernel.php
に。
class Kernel extends HttpKernel
{
・・・ 略 ・・・
protected $middleware = [
\Fruitcake\Cors\HandleCors::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];
と定義しておりました。
「Laravel Framework 12.9.0」の方で。
bootstrap/app.php
に。
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
api: __DIR__.'/../routes/api.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
$middleware->use([
\Fruitcake\Cors\HandleCors::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
]);
てな感じで、定義しましたらば。
Target class [Fruitcake\Cors\HandleCors] does not exist.
てなことを言われますので。
インストールしようとしましたらば。
composer require fruitcake/laravel-cors
./composer.json has been updated
Running composer update fruitcake/laravel-cors
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
・・・ 略 ・・・
Installation failed, reverting ./composer.json and ./composer.lock to their original content.
てなことを言うて、怒られます。
調べましたらば、「fruitcake/laravel-cors」は、外部のパッケージから、「Laravel」の標準モジュールに昇格したそうです。
3. 対処
ちゅうことなので。
bootstrap/app.php
を、下記のように書き換えることで。
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
api: __DIR__.'/../routes/api.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
$middleware->use([
\Illuminate\Http\Middleware\HandleCors::class, // ← ココです
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
]);
正常に動作するようになりました。
4. 備考
本ページは、下記のサイトを参考にさせていただきました。
「Laravel10 への更新作業」
|