无法访问Docker PHP映像中的映像

时间:2020-04-06 23:35:53

标签: php image apache docker localhost

我有一个带有一些js的小型PHP网站,并想在docker上运行它。因为它是一个画廊,所以它在子文件夹中有图像。主index.php运行正常,但未找到图像。我使用普通的docker CLI和' echo ls ... '查找了文件夹,但是所有内容都在其中。如果我转到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 码头工人-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 :(得分:0)

路径应为 localhost:8080 / images / [image] .jpg ,而不是 var / www / html / images / [image] .jpg

我上面的帖子中有更多信息。