Как обслуживать php-файлы вне приложения Symfony в Nginx? - PullRequest
0 голосов
/ 08 апреля 2019

У меня есть приложение Symfony 4 на сервере Nginx, и оно работает нормально. В общедоступной папке у меня есть несколько статических (.html) файлов, и Nginx также отлично их обслуживает.

Но когда я хочу запустить файл .php (не связанный с приложением Symfony), сервер загружает его вместо запуска.

Я почти уверен, что проблема заключается в регулярном выражении местоположения в блоке сервера файла конфигурации, но я не могу понять, какое выражение может быть правильным.

Лучшее, что у меня есть, это Symfony, сообщающий мне об ошибке «Не найден маршрут».

Мой блок сервера в default.conf равен

server {
    listen       80;
    server_name  nolo.be;

    # note that these lines are originally from the "location /" block
    root   /usr/share/nginx/html/www/TwPubMonitor/public;
    index index.php index.html index.htm;

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

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ ^/index\.php(/|$) {
        #try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

        fastcgi_split_path_info ^(.+\.php)(/.*)$;

        #fastcgi_index index.php;
        #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;

        internal;
    }

    location ~ \.php$ {
        return 404;
    }

}

Чего я хотел бы добиться, так это обслуживать файлы .php в общей папке Symfony. Я предполагаю, что это может быть сделано (документация Symfony / Nginx утверждает, что это возможно, но нет подробностей), но не может получить правильную комбинацию location / try_files и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...