Изображения не будут загружаться в папку public_html в Laravel Project - PullRequest
0 голосов
/ 29 апреля 2019

Когда я пытаюсь загрузить изображение на мой сайт, оно сохраняется в моей папке хранения, однако символическая ссылка не работает, поэтому он не сохраняет его в моей папке public_html. Я попытался использовать пользовательский php-файл символической ссылки, но он, похоже, ничего не делает.

Мой файл symlinkcreate.php

<?php
symlink('/home/jackdeaz/nscraft/storage/app/public', '/home/jackdeaz/public_html/storage');

мой файл Filesystems.php

'default' => env('FILESYSTEM_DRIVER', 'local'),

'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app'),
            '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'),
        ],

    ],

Вот так я загружаю изображение

$request->file('image_url')->store('public/img/products');

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

Возможно, это проблема с разрешениями. Какие разрешения используются вашим (а) веб-сервером (например, nginx), диспетчером процессов PHP (php-fpm). В идеале они должны быть одинаковыми, и директоры, в которых они пытаются хранить файлы, должны иметь как минимум те же разрешения для группы (например, 775).

0 голосов
/ 29 апреля 2019

Как объясняется @MorganTouvereyQuilling здесь :

  1. Поиск имени пользователя веб-сервера.Если вы используете Apache, используйте эту командную строку:
ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1
Предоставление разрешений веб-серверу (chmod, chown)

Примечание. Выполнение chmod из 666 или 777 может быть достаточным, но небезопасным.Предоставление разрешений 666 или 777 даст доступ к «другим».Лучше быть более точным и давать разрешения только вам и Apache.

...