Laradock環境を一度WSL2版にしてから、Hyper-V版に戻したら、ショートカットリンクがなぜか外れていた。
そこで、以下のコマンドで再度ショートカットリンクを作成しようとすると…
# php artisan storage:link
ErrorException : symlink(): Input/output error at /var/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:252 248| */ 249| public function link($target, $link) 250| { 251| if (! windows_os()) { > 252| return symlink($target, $link); 253| } 254| 255| $mode = $this->isDirectory($target) ? 'J' : 'H'; 256| Exception trace: 1 symlink("/var/www/storage/app/public", "/var/www/public/storage") /var/www/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:252 2 Illuminate\Filesystem\Filesystem::link("/var/www/storage/app/public", "/var/www/public/storage") /var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/StorageLinkCommand.php:35 Please use the argument -v to see more details.
このようなエラーが…
原因
publicの下を見てみると、
サイズが 0 のリンクファイルがある。なんとも怪しい。
こいつを消して、もう一度storage:link
を実行してみる。
The [public/storage] directory has been linked.
今度はいけた!
なんでリンクファイルが破損していたのかは分からないけど、上記のエラーが出たら一度リンクファイルを確認することにしよう。