###環境
Windows10 pro
Docker toolbox
PHP 7.3.19
Laravel 6.18.20
実現したいこと
Laravelで、画像をアップロードして、その画像をブラウザ上で表示させようとしています。
###現在の問題点
ローカル上の storage/app/public/ には問題なく画像がアップロードされましたが、
ブラウザ上では画像が表示されません。
Laravelでは、シンボリックリンクを張る必要があるということだったので、、docker-compose exec app ashでコンテナに入り、以下のコマンドを打つとエラーメッセージが表示されてしまいました。
エラーの解決策を教えていただけますと幸いです。
php artisan storage:link
###エラーメッセージ
symlink(): Protocol error at /work/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:263 259| */ 260| public function link($target, $link) 261| { 262| if (! windows_os()) { > 263| return symlink($target, $link); 264| } 265| 266| $mode = $this->isDirectory($target) ? 'J' : 'H'; 267| Exception trace: 1 symlink("/work/storage/app/public", "/work/public/storage") /work/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:263 2 Illuminate\Filesystem\Filesystem::link("/work/storage/app/public", "/work/public/storage") /work/vendor/laravel/framework/src/Illuminate/Foundation/Console/StorageLinkCommand.php:35
デバッグで画像データは取得できているので、そのほかのソースコードに間違いはなく、シンボリックリンクがうまく作れていないことが原因であると思っています。
###試したこと
コマンドプロンプトに管理者権限で入り、以下のコマンドを入力してシンボリックリンクを作成しましたが、やはり画像が表示されませんでした。
mklink /D "C:\Users\user.DESKTOP-1KA2FU7\PHP\docker-laravel\src\public\storage" "C:\Users\user.DESKTOP-1KA2FU7\PHP\docker-laravel\src\storage\app\public"
以下の記事を見て、mklinkで指定したパスが間違っているのではないかと考えましたが、どのように修正すればよいのか、パスの調べ方がわかりません。あるいは、「php artisan storage:link」でエラーが出ないようにするにはどうすればよいのかがわかりません。
###参考にしたURL
・https://qiita.com/Baisel/items/49b16ce3231c749f6c6f
・https://teratail.com/questions/245571
###試したことの追記
①Dockerコンテナ内で
/work/public # ln -s /work/public storage ln: storage/public: Protocol error
/work/public # ln -s /work/storage/app/public /work/public/storage ln: /work/public/storage/public: Protocol error
とエラーが表示されます。
②Power Shellを管理者権限で開き、そこからDockerコンテナ内に入って
ln -s /work/storage/app/public /work/public/storage
php artisan storage:link
を入力しても、やはりProtocol errorが表示されます。
エラーの解決策を教えていただけますと幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/14 12:39
2020/07/14 15:28
2020/07/14 15:38
2020/07/15 06:53
2020/07/15 06:57
2020/07/15 07:59
2020/07/15 14:04