【问题标题】:Symfony not configured with Nginx serverSymfony 未配置 Nginx 服务器
【发布时间】:2019-03-15 19:04:51
【问题描述】:

我是 PHP Symfony 的新手,我正在尝试使用 nginx 配置 symfony 项目,但它显示 nginx 404 错误,symfony 路径 URL 不起作用。只有 index.php 文件有效。

参考网站: https://www.nginx.com/resources/wiki/start/topics/recipes/symfony/

这是我的 nginx 代码:-

server {

    #listen [::]:80 default_server;

    server_name dummyurl.com;
    root /var/www/html/folder name;
    index index.html index.php;

    location / {
    # try to serve file directly, fallback to index.php
      try_files $uri /index.php$is_args$args;
   }

    # pass PHP scripts to FastCGI server
    #
    location ~ \.php$ {
              fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
              fastcgi_split_path_info ^(.+\.php)(\.*)$;
              include fastcgi_params;
              fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
              fastcgi_param DOCUMENT_ROOT $realpath_root;
              internal;
              #fastcgi_param REQUEST_URI $uri?$args=404;
    }


}

截图如下:

【问题讨论】:

  • location 部分应在 server 部分内。无论如何,您可以简单地从 Symfony 文档 (symfony.com/doc/current/setup/…) 复制示例配置,如果您的项目使用某个本地域,则只需更改 root 路径和 server_name
  • @Jakub Matczak 我试过但没用
  • 如果您提供您尝试过的真实 nginx 配置,而不是您提供的修改过的配置,那么帮助您会容易得多。不管怎样,root 参数的值应该指向 Symfony 项目中的public 目录。我不认为这是没有意义的/var/www/html/folder name
  • 屏幕还显示您正在尝试访问我也不明白的网址/symfony/web/index.php。 Symfony 3 使用了web 目录,但它没有index.php 文件,而是app.php。另一方面,Symfony 4 使用index.php,但web 目录已更改为public。你实际使用的是哪个 Symfony 版本?

标签: php symfony nginx


【解决方案1】:

问题是你没有将服务器根设置为公共目录

server {
    root /var/www/project/public;
}

查看 Kamil Ścisłowski 提到的文档: Offical Web Server Documentation

【讨论】:

  • 你忘记了公共部分:
  • sry forgit 添加代码行:root /var/www/html/public
  • 尝试使用官方文档提供的示例,并根据您的需要扩展配置。
猜你喜欢
  • 1970-01-01
  • 2016-03-31
  • 2017-05-12
  • 1970-01-01
  • 2016-03-14
  • 2012-04-18
  • 1970-01-01
  • 2014-08-01
  • 1970-01-01
相关资源
最近更新 更多