php файл загружается, когда я запускаю docker-compose, php7 и nginx вместе - PullRequest
0 голосов
/ 20 января 2019

Когда я запускаю следующий файл docker-compose, все службы работают нормально, но когда я открываю следующую ссылку, браузер загружает файл hello-world.php вместо отображения его содержимого.

http://0.0.0.0:8080/hello-world.php

Вот моя файловая структура:

docker-compose.yml
site.conf
www     
   hello-world.php

Вот мой docker-compose:

version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - ./www:/usr/share/nginx/html/
      - ./site.conf:/etc/nginx/conf.d/site.conf
    links:
      - php
  php:
    image: php:7-fpm
    volumes:
       - ./www:/usr/share/nginx/html/

Это мой site.conf

server {
    index index.php index.html;
    server_name php-docker.local;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /usr/share/nginx/html/;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

И это мой привет мир:

<?php
    echo phpinfo();
?>

1 Ответ

0 голосов
/ 20 января 2019

Я нашел решение с лучшим файлом конфигурации nginx:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;

    root /usr/share/nginx/html;
    index index.php;

    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;

    server_tokens off;

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass php:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...