環境
- composer
v2.6.5 - WSLとDocker(Debian bookworm)
Docker環境の構築は次のページにログがある。
手順
コンテナ内のシェルへ入り、次のインストール用コマンドを実行する。
# composer create-project laravel/laravel プロジェクト名
次のエラーが出たので、
Failed to download laravel/laravel from dist: The zip extension and unzip/7z commands are both missing,
unzipをインストールする。
# apt-get install -y unzip
再度インストール用コマンドを実行すると、次の結果になった。
59 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
INFO Discovering packages.
laravel/sail .................................................................................................. DONE
laravel/sanctum ............................................................................................... DONE
laravel/tinker ................................................................................................ DONE
nesbot/carbon ................................................................................................. DONE
nunomaduro/collision .......................................................................................... DONE
nunomaduro/termwind ........................................................................................... DONE
spatie/laravel-ignition ....................................................................................... DONE
82 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
INFO No publishable resources for tag [laravel-assets].
No security vulnerability advisories found.
> @php artisan key:generate --ansi
INFO Application key set successfully.
次のURLにWebブラウザでアクセスすると、Laravelのページが表示できた。
http://localhost/プロジェクト名/public
しかし、次のエラーメッセージが表示された。
Allowed memory size of 134217728 bytes exhausted (tried to allocate 11809800 bytes)
調べると、php.iniでのmemory_limitの値が原因らしい。(128MBが設定されていた)
memory_limit = -1
を指定するとメモリを無制限に使用するらしいので、エラーを消すためにそう指定する。
DockerにてpreforkのApacheでPHPを動かしているので、Dockerコンテナを再起動する。
(preforkの場合、php.iniはApache起動時に読み込まれるらしい)
それからWebブラウザで上記URLにアクセスすると次はこのエラーが表示された。
Maximum execution time of 30 seconds exceeded
作成されたLaravelプロジェクトのフォルダに対して次のコマンドを実行する。
# chmod -R 777 プロジェクトフォルダ名
それからWebブラウザで上記URLにアクセスすると、welcomeビューが表示された。