Laravel Symlink между хранилищем и общедоступным не работает?

Поэтому у меня возникают проблемы с переходом с локального веб-сайта Laravel на выделенный сервер.

Я запустил этот код в Putty, чтобы создать символическую ссылку. И я думаю, что это работает, поскольку я вижу папку в клиенте Filezilla.

ln -s /home/username/project/storage/app/public/receipts /home/username/public_html/storage/

Проблема в том, что я не могу получить доступ к файлам, хранящимся в папке. Если я cd в папку в оболочке, я могу увидеть все файлы там. Если я помещаю изображение в папку public_html / storage, я могу увидеть его, перейдя на сайт website.com/storage/image.jpg, но то же изображение в папке app / public / чеков не открывается, когда я пытаюсь сделать website.com/storage /receipts/image.jpg

Также я проверил глобальную конфигурацию для сервера apache на наличие разрешенных ссылок и проверил.

Это первый раз, когда я пробовал что-то делать с серверами, поэтому я действительно не знаю, что делаю. Любая помощь будет оценена по достоинству.

Моя версия Php - 7.2 Laravel - это 5.6

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
1 415
1

Ответы 1

Не уверен, что это опечатка, но цель вашей ссылки - .../public/receipts. Похоже, вам нужен .../public:

ln -s /home/username/project/storage/app/public /home/username/public_html/storage

Таким образом, website.com/storage/image.jpg будет указывать на .../app/public/image.jpg, а website.com/storage/receipts/foo.jpg будет указывать на .../app/public/receipts/foo.jpg.

Спасибо за помощь, но этого не произошло.

Johnerino 13.05.2018 10:36

Shucks: / в таком случае, я не могу воспроизвести это с моей стороны. Вы пытались проверить владельца и права доступа к файлам? Может быть, они недоступны для публики?

Frank 13.05.2018 11:43

Я попытался поместить изображение в общую папку, чтобы проверить, могу ли я их отобразить, что сработало, однако я не могу добиться этого с помощью символической ссылки. Не знаю, доказывает ли это возможность разрешений или нет?

Johnerino 14.05.2018 15:49

Попробуйте запустить ls -lR /home/username/public_html/storage, чтобы сравнить права собственности и разрешения на файлы, которые вы разместили сами, и файлы, к которым вы не можете получить доступ из Интернета.

Frank 14.05.2018 18:35

Другие вопросы по теме