发送表单后调试工具栏错误404

时间:2014-05-05 18:20:05

标签: php symfony

我遇到了symfony 2调试工具栏的问题。

在我在GET方法中访问的每个页面中,此栏显示得非常好。

但是当我想发送一个表单时,表单已经发送好了,但调试工具栏不会出现,而且这个警告来了:

An error occurred while loading the web debug toolbar (404: Not Found).

Do you want to open the profiler?

探查器中唯一的消息是

Token not found

Token "96eda5" was not found in the database.

当我不想打开个人资料时,为了使用Chrome检查器检查页面,我看到了以下错误:

Failed to load resource: the server responded with a status of 404 (Not Found)  http://mysite/_wdt/96eda5

这可能是_wdt ??

的问题

PS:

我没有创建数据库,我不需要[我认为],它只是一个没有数据的可视化网站...

也许这个问题无法通过这些信息得到解决,所以不要再向我询问更多信息......


答案:

这是因为我的文件夹不是很好的chmod ... www-data无法访问这些文件。

3 个答案:

答案 0 :(得分:0)

你在发布POST后重定向吗?如果是这样,我将首先在开发环境中启用重定向拦截,并查看拦截期间是否存在工具栏。

如果您没有进行重定向,请不要为此烦恼。尝试在模板中验证具有表单的HTML结构。还要尝试清除缓存。

您使用的是哪种网络服务器?

答案 1 :(得分:0)

我刚刚在nginx上找到了与Symfony2相同的错误消息,并通过为nginx设置passinfo来解决。在/ etc / nginx / sites-available / mysite(vhost设置)中, 替换:

server {
    root /path/to/project;
    index index.html index.htm;

    server_name site.local;

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
    #       fastcgi_split_path_info ^(.+\.php)(/.+)$;
    #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #       # With php5-cgi alone:
    #       fastcgi_pass 127.0.0.1:9000;
           # With php5-fpm:
           fastcgi_pass unix:/var/run/php5-fpm.sock;
           fastcgi_index index.php;
           include fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #       deny all;
    #}
}

为:

server {
    root /path/to/project;
    index index.html index.htm;

    server_name site.local;

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #

    location ~ \.php {   **remove the `$` symbol**
           fastcgi_split_path_info ^(.+\.php)(/.+)$;    **unmark this line**
    #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
    #
    #       # With php5-cgi alone:
    #       fastcgi_pass 127.0.0.1:9000;
           # With php5-fpm:
           fastcgi_pass unix:/var/run/php5-fpm.sock;
           fastcgi_index index.php;
           include fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #       deny all;
    #}
}

希望这有帮助。

答案 2 :(得分:0)

我正在使用nginx + hhvm。与squarer's相同的问题和解决方法:

在/etc/nginx/hhvm.conf中简单地更改此行

从:

location ~ \.(hh|php)$ {

location ~ \.(hh|php)($|/) {

重新启动nginx - 就是这样。