我正在使用我公司的 Docker 模板尝试连接到 Localhost,但在 chromes URL 栏中输入 localhost:8888 时,我收到消息“文件未找到”。在 Git Bash 中运行命令“docker-compose up”后,我尝试连接到 Localhost,但 apache 给出 [proxy_fcgi:error] AH01071:出现错误“主脚本未知”。我不确定为什么这不起作用,因为我正在通过此过程使用公司文档,并且该文档对我的所有其他同事都有效。docker 中的所有容器似乎都在正常运行,因此任何有关 apache 方面的帮助都将不胜感激
我尝试过的一些修复方法:
编辑我的 .htaccess 文件,截至目前它是:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ./index.php [L]
ProxyErrorOverride on
</Proxy>
</IfModule>
编辑我的 apache.conf 文件,截至目前它是:
ServerName localhost
LoadModule deflate_module /usr/local/apache2/modules/mod_deflate.so
LoadModule proxy_module /usr/local/apache2/modules/mod_proxy.so
LoadModule proxy_fcgi_module /usr/local/apache2/modules/mod_proxy_fcgi.so
<VirtualHost *:80>
#Proxy .php requests to port 9000 of the php-fpm container
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://php:9000/var/www/html/$1
DocumentRoot /var/www/html/
<Directory /var/www/html/>
DirectoryIndex index.php
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
#send apache logs to stdout and stderr
CustomLog /proc/self/fd/1 common
ErrorLog /proc/self/fd/2
</VirtualHost>
我的 docker-compose.yml 文件是:
version: "3.2"
services:
php:
build: './php/'
networks:
- backend
volumes:
- ./src/:/var/www/html/
- ./installs/:/tmp/installs/
apache:
build: './apache/'
depends_on:
- php
- mongo
networks:
- frontend
- backend
ports:
- "8888:80"
volumes:
- ./src/:/var/www/html/
mongo:
image: mongo:4.0.6
networks:
- backend
ports:
- "9999:27017"
volumes:
- ./mongo_data/:/data/db/
networks:
frontend:
backend: