在Docker Apache中使用Php

I'm trying to use docker but I have a lot of problem. Now i Want to use an apache container and use a volume of my php

my images are

  • nimmis/apache
  • 5.6-fpm

my docker ps is:

85e592d46fcc        nimmis/apache       "/my_init"               3 minutes ago       Up 3 minutes        0.0.0.0:8080->80/tcp   apacheBarno
c9bc486563bc        php:fpm             "php-fpm"                15 minutes ago      Up 15 minutes       9000/tcp               app_php

and I Started my apache with this command

docker run --name apacheFoo --volumes-from app_php -p 8080:80 -v `pwd`:/var/www/html --rm nimmis/apache

When I visit http://192.168.99.100:8080/ ( im on mac ) I can see the apache page.

when I visit http://192.168.99.100:8080/index.php I get <?php echo "hello" ?>

instead of "hello"

doubo3384
doubo3384 你为什么不使用官方的php图像(php:5-apache)?
4 年多之前 回复
dougan5772
dougan5772 看到答案。如果未安装或启用PHP支持,Apache不支持PHP。
4 年多之前 回复
dsfdsf48652
dsfdsf48652 您可以从尝试其中一个非英语stackoverflow站点中受益。
4 年多之前 回复
douzhi9395
douzhi9395 抱歉,但我不明白
4 年多之前 回复
doucu7525
doucu7525 php启用了吗?看起来服务器服务于网页而不是执行它。
4 年多之前 回复

2个回答



行为的原因是你正在使用的apache图像( https://hub.docker.com/r/nimmis/apache/ ,对吧?)是一个没有php支持的普通apache。 所以它只是以纯文本形式提供你的php代码。</ p>

在这种情况下你不需要两个图像。 相反,你需要一个运行Apache的图像与php模块。 您可以使用官方的PHP图像( https://hub.docker.com/_/php/</ a>)。</ p>

您的Docker文件可能如下所示:</ p>

 ```
#see https:// hub。 docker.com/_/php/
FROM php:5.6-apache

#将您的源复制到容器
COPY内的/ var / www / html中。 / var / www / html /

 </ code> </ pre> 

 <p>现在您可以像这样构建和运行它</ p> 

 <pre> <  code>```
docker build -t apache-foo-docker。
docker run -d -p 8080:80 -v $(pwd):/ var / www / html --name apacheFoo apache-foo-docker 

</ code> </ pre>
</ div>

展开原文

原文

The reason of the behavior is that the apache image you are using (https://hub.docker.com/r/nimmis/apache/, right?) is a plain apache without php support. So it just serves your php code as plain text.

You don't need two images in this case. Instead you need one image running Apache with php module. You can use the official php image (https://hub.docker.com/_/php/).

Your Docker file can look like this:

```
# see https://hub.docker.com/_/php/
FROM php:5.6-apache

# copy your source into the /var/www/html inside the container
COPY . /var/www/html/
```

Now you can build and run it like this

```
docker build -t apache-foo-docker .
docker run -d -p 8080:80 -v $(pwd):/var/www/html --name apacheFoo apache-foo-docker
```



我猜你试图用通用的apache图像来提供PHP服务。 PHP页面应该在服务器端解释,在你的情况下是apache。 这意味着apache(及其容器)应该配置并启用PHP。 也许你可以尝试 https://hub.docker.com/r/nimmis/apache- php5 / 相反? </ p>
</ div>

展开原文

原文

I guess you are trying to serve PHP with generic apache image. PHP pages should be interpreted on the server side, which is apache in your case. This means apache (and its container) should have PHP configured and enabled. Maybe you could try https://hub.docker.com/r/nimmis/apache-php5/ instead?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐