Symfony 3 - 总是得到404错误

时间:2017-07-17 18:42:56

标签: php symfony

我是Symfony 3的初学者。

我安装了它,当我去http://localhost/Symfony/web/app_dev.php时 页面显示然后有一个javascript确认框,其中显示消息“加载Web调试工具栏时出错(404:Not Found)。你想打开探查器吗?”

即使我转到http://localhost/Symfony/web/app_dev.php/test我有一个404错误页面,但它不是Symfony 404页面。

我在Ubuntu和Nginx上。

我尝试了不同的东西,但对我来说没有什么是正确的。

你可以帮我一个,所以我没有这个确认框,可以去其他页面吗?

感谢。

更新: 在var / logs / dev.log中,我有这样的消息:

[2017-07-18 11:00:39] request.INFO: Matched route "homepage". {"route":"homepage","route_parameters":{"_controller":"AppBundle\\Controller\\DefaultController::indexAction","_route":"homepage"},"request_uri":"http://localhost/Symfony/web/app_dev.php/","method":"GET"} []
[2017-07-18 11:00:39] security.INFO: Populated the TokenStorage with an anonymous Token. [] []

编辑:

我使用版本3.3.5

重新启动安装

我做了这些线,它的效果更好一点:

sudo mkdir -p /usr/local/bin
sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
sudo chmod a+x /usr/local/bin/symfony

我不得不用这些行更改composer.json:

"autoload": {
        "psr-4": {
            "": "src/"
        },

这是我的nginx配置:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name localhost;

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

# start symfony
location ~ ^/(app_dev|config)\.php(/|$) {
        fastcgi_pass unix:/var/run/php5-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;
    }
# end symfony

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass 127.0.0.1:9000;
    }
}

但是我仍然有任何页面的404错误页面,即使对于我生成的包也是如此。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

首先,将您网站的根目录指向网络文件夹。 不是它的任何父母。并再次检查。

对于调试工具栏,请检查security.yml 应该有一个防火墙开发人员关闭js,图像等的安全性

这样的东西
firewalls:
    # disables authentication for assets and the profiler, adapt it according to your needs
    dev:
        pattern: ^/(_(profiler|wdt)|css|images|js)/
        security: false

答案 1 :(得分:0)

您可以使用php内置的Web Server。更容易,您不需要为此配置nginx。

使用putty转到您的项目并启动Web服务器

cd symfonyProject/
php bin/console server:start

您将看到如何访问开发服务器的消息。

您在此处找到的详细信息http://symfony.com/doc/current/setup/built_in_web_server.html

祝你好运。