我正在使用Docker和Docker-Compose的LAMP堆栈中工作,由于我无法执行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)运行在另一个容器中。 容器和服务都在运行。
我在httpd容器上有一个VirtualHost文件,内容如下:
<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容器不能redirect.php文件到php-fpm:9000 。
无论哪种方式,我可以得到一些帮助? 如果你想仔细看看这里是httpd仓库,这里是php-fpm仓库。