我上传我的laravel网站到共享主机"。除了我无法检索存储在storagepublic文件夹中的图片外,所有的工作都在进行。我跑
"php artisan storage:link"
但它说没有找到。我也试过
rm storage
却得到了消息 rm:无法删除。是目录php artisan storage:链接来自ssh命令的输出。
注, 我不是针对最初的答案,因为它听起来不像是可以做到的。这是另一种解决方案。
在你的 config/filesystems.php
文件,你会看到下面的代码(或类似的代码)。
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
],
],
要将你的公共磁盘链接到一个公共目录而不使用操作系统的符号链接,请修改 disks['public']['path']
到你选择的公共路径。例如:
'disks' => [
/** -- skipped code **/
'public' => [
'driver' => 'local',
'root' => __DIR__ . '../public/images/`,
'url' => env('APP_URL').'/images',
'visibility' => 'public',
],
/** -- skipped code **/
],
你完全也可以使用S3存储。那会给你连接一个AWS桶,你可以使用。
共享主机对于Laravel来说是很棘手的. 我会尽快转型离开。我用Laravel Forge部署服务器, 用Digital Ocean或者AWS做主机.