【问题标题】:Local web server html page not beig processed by php本地Web服务器html页面未被php处理
【发布时间】:2020-07-28 09:57:53
【问题描述】:

首先,我要诚实地说,我对自己在做什么一无所知,所以我可能做错了。

无论如何,我在 docker 容器中使用 apache 运行这个本地 Web 服务器。 我使用 httpd2.4 图像作为基础。在我的 dockerfile 中,我有一行:

RUN apt-get install libapache2-mod-php7.3 -y

获取 php 模块。 当我使用apache2ctl -t -D DUMP_MODULES 命令时,该模块就会出现。 但是,当我查看 httpd/modules 文件夹时,我找不到任何与 php 相关的模块。

在我的 .htaccess 中,我还添加了 AddType application/x-httpd-php7.3 .html 表达式。我也尝试过使用 AddHandeler,没有版本 nuber 并且没有版本号中的点,然后环顾了一下。 在所有情况下,网络仍然有效,我没有收到任何错误,但 php 仍在处理中

我有一个 html 页面,里面有一些 php 脚本,如果我手动使用 php 来运行它,它会按预期工作。 但是,如果我从 Web 服务器访问它,它什么也不做。

我知道这相当令人费解,而且可能解释得很糟糕,但我不知道如何在不深入细节的情况下更好地解释它。

根据要求,这里是 dockerfile:

FROM httpd:2.4
ADD httpd.conf /usr/local/apache2/conf/ 
ADD .htpasswd /etc/pass/ 
ADD test-wall-web /usr/local/apache2/htdocs/ 
ADD GoldenGateTool/main /usr/local/apache2/htdocs/Protected
RUN apt-get update -y && apt-get upgrade -y
RUN apt-get install libapache2-mod-php7.3 -y

所以,更新: 模块已加载,模块已启用,文件匹配已在 php 配置文件中设置,但仍无法正常工作

如果我的 .htaccess 文件中有 AddHandler application/x-httpd-php7.3 .html,它会提示我下载 html 页面,而不是在转到 url 时查看它

【问题讨论】:

  • 请在此处发布您的 Dockerfile
  • @MeiramChuzhenbayev 你去吧

标签: php docker apache2


【解决方案1】:

好的,所以似乎有多个问题。 显然模块 .so 文件位于 /usr/lib/apache2/modules/ 而不是 /usr/local/apache2/modules/ 不知道为什么会有两个重复的模块文件夹,它们都包含所有标准模块,但是添加的任何新模块只会添加到库中的一个。

第二件事是我需要在 .htaccess 文件中同时使用 settype 和 sethandeler 像这样:

AddHandler application/x-httpd-php .htm .html
AddType application/x-httpd-php .htm .html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-29
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    相关资源
    最近更新 更多