Я работаю в стеке LAMP, используя Docker и Docker-Compose, и я застрял, так как не могу выполнять файлы PHP, что означает, что каждый раз, когда я пытаюсь http://localhost/index.php
Я заканчиваю следующим сообщением 403:
Forbidden
You don't have permission to access /index.php on this server.
В настоящее время у меня две службы работают в разных контейнерах, см. docker-compose.yml
ниже:
version: '2'
services:
php-fpm:
container_name: "php-fpm"
build: ../docker-php-fpm
volumes:
- ~/dev:/data/www
httpd:
container_name: "httpd"
build: ../docker-httpd
ports:
- 8080:80
volumes_from:
- php-fpm
links:
- php-fpm
Как вы могли заметить, PHP-FPM работает в одном контейнере, Apache (httpd) работает в другом. И контейнеры, и службы на них запущены и работают.
У меня есть файл VirtualHost на httpd
контейнер со следующим содержимым:
<VirtualHost *:80>
ServerName localhost
DocumentRoot /data/www
DirectoryIndex index.php
<Directory /data/www>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://php-fpm:9000"
</FilesMatch>
ErrorLog /dev/stderr
CustomLog /dev/stdout combined
</VirtualHost>
На данный момент я не уверен, что проблема в настройке виртуального хоста или проблема в том, что httpd
контейнер не может перенаправить .php
файлы в php-fpm:9000
.
В любом случае, могу ли я получить помощь? Если вы хотите присмотреться, вот httpd репозиторий и вот php-fpm репозиторий.