Tôi đã xem các bài đăng khác ở đây về một vấn đề tương tự, nhưng tôi nghĩ tôi cần một giải pháp khác vì các bài đăng khác không giúp được gì.
Tôi đang chạy hai vùng chứa riêng biệt với Docker: Dành cho php-fpm
va cho nginx
.
Khi tôi cố gắng hiển thị văn bản bằng cách sử dụng index.html
tệp thì không sao, nhưng khi tôi đổi tên tệp thành index.php
thay vào đó, nó tải xuống một tệp "tải xuống".
Tôi không chắc có phải chỉ vì tôi mặc định.conf
tệp hoặc do cách tôi thiết lập vùng chứa của mình.
Đây là của tôi docker-compose.yml
:
mạng:
ấu trùng:
dịch vụ:
nginx:
hình ảnh: nginx:ổn định-alpine
container_name: nginx
cổng:
- "8088:80"
khối lượng:
- ./src:/var/www/html
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
phụ thuộc:
- php
- mysql
mạng:
- ấu trùng
mysql:
hình ảnh: mysql
container_name: mysql
tty: đúng
cổng:
- "4306:3306"
khối lượng:
- ./src:/var/lib/mysql
môi trường:
MYSQL_DATABASE: ấu trùng
MYSQL_ROOT_USER: gốc
MYSQL_ROOT_PASSWORD: bí mật
DỊCH VỤ_TAGS: nhà phát triển
DỊCH VỤ_NAME: mysql
mạng:
- ấu trùng
php:
xây dựng:
bối cảnh: .
dockerfile: dockerfile
container_name: php
khối lượng:
- ./src:/var/www/html
cổng:
- "9000:9000"
mạng:
- ấu trùng
Đây là của tôi mặc định.conf
:
người phục vụ {
nghe 80;
chỉ mục index.php index.html;
máy chủ_tên máy chủ cục bộ;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
gốc /var/www/html/công khai;
địa điểm / {
try_files $uri $uri/ /index.php?$query_string;
}
vị trí ~ \.php$ {
try_files $uri = 404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
bao gồm fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}