Не удается получить доступ к изображениям в изображении docker php - PullRequest
0 голосов
/ 07 апреля 2020

Я получил небольшой PHP веб-сайт с некоторыми js и хотел запустить его с docker. Поскольку это галерея, у нее есть изображения в подпапке. Основной индекс. php работает нормально, за исключением того, что изображения не найдены. Я заглянул внутрь папки с обычным docker CLI и ' echo ls ... ', но там все есть. Если я go на localhost: 8080 / images, я получаю сообщение об ошибке 403 (см. Ниже).

Изображения загружаются через php, который генерирует пути вроде: / var / www/html/images/2555-P160-05.jpg. Возможно, они не правы?


Решение : Я ошибся путями. Теперь я получаю путь через

$link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 
                "https" : "http") . "://" . $_SERVER['HTTP_HOST'] .  
                $_SERVER['REQUEST_URI']; 

вместо getcwd () . Комментарии напомнили мне проверять изображения напрямую, а не всю папку. Я также отредактировал Dockerfile и удалил изменения прав доступа.


ОС: Ubuntu 19.04 Docker -v: 19.03.6

Вот мои последние изменения:

docker -compose.yml:

version:  '3'
services:
  photography-website:
    build: 
      context: ./
      dockerfile: ./
    ports:
      - 8080:80
    volumes:
      - .:/var/www/html

Dockerfile:

FROM php:7.4.4-apache

Ошибка 403:

172.18.0.1 - - [06/Apr/2020:23:19:48 +0000] "GET /images/ HTTP/1.1" 403 493 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"

Спасибо за чтение.

1 Ответ

0 голосов
/ 07 апреля 2020

Пути должны быть localhost: 8080 / images / [image] .jpg not var / www/html/images/ [image] .jpg .

Подробнее в мой пост выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...