Laravel 找不到 smlink

Laravel smlink not found

我将我的 laravel 网站上传到共享主机“。一切正常,除了我无法检索存储在 storage/public 文件夹中的图像。我 运行

 "php artisan storage:link" 

但它说找不到。我也试过

rm storage

但是收到消息 rm: 无法删除。是目录 php artisan storage:link output from ssh command

请注意,我不是在解决原始答案,因为这听起来不太可能。这是替代解决方案。

解决方案

在您的 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'),
        ],

    ],

不使用 OS symlinks 将 link 您的 public 磁盘到 public 目录,将 disks['public']['path'] 更改为public 您选择的路径。例如,

    '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 进行托管。