如官方文檔所述,Laravel提供了Artisan 命令 storage:link 來創(chuàng)建符號鏈接:
php artisan storage:link
我的homestead中無法成功執(zhí)行此命令,或許是文件系統(tǒng)和共享方式的問題無法執(zhí)行ln,并未追究。因為我在win環(huán)境中可以成功執(zhí)行并使用。但當訪問homestead環(huán)境時,發(fā)現(xiàn)win下的軟連接并沒有起作用。
我們查看一下homestead里此鏈接的情況,發(fā)現(xiàn)其鏈接指向是有問題的

image.png
我們來到storage:link的執(zhí)行方法Illuminate\Filesystem\Filesystem.link()
因為實在win中執(zhí)行的,打印其exec()執(zhí)行的命令

image.png
可以看到使用的是mklink 指定絕對路徑來生成的鏈接

image.png
猜測homestead中無法正確解析win的絕對路徑鏈接
我們進入public目錄手動創(chuàng)建一個相對鏈接
mklink /D ".\storage" "..\storage\app\public"

image.png
然后我們到
homestead環(huán)境中查看,鏈接指向已經(jīng)正常了
image.png
mklink相關(guān)說明可參閱 http://m.itdecent.cn/p/b1614a073087