小编ben*_*oit的帖子

Silex/Symfony上的"SecurityContext中未找到令牌"

我用登录机制构建了一个Silex项目.

我不是Symfony专家,我严格遵循这里的认证过程指南:http://silex.sensiolabs.org/doc/providers/security.html

...它在我的开发环境中运行良好

但是,当我在生产服务器上推送项目时,每次尝试登录我的Web应用程序时都会出现以下错误

[2012-12-18 16:35:33] CRITICAL: Symfony\Component\Security\Core\Exception\AuthenticationCredentialsNotFoundException:
A Token was not found in the SecurityContext. (uncaught exception) at
/my/app/path/vendor/symfony/security/Symfony/Component/Security/Http/Firewall/AccessListener.php line 53 [] []
Run Code Online (Sandbox Code Playgroud)

这意味着AccessListener.php中的以下代码

$this->context->getToken());
Run Code Online (Sandbox Code Playgroud)

抛出一个预感

鉴于相同的代码在我的开发环境中完美运行,我认为它与我的生产服务器配置有关.

我发现这个帖子http://groups.google.com/forum/#!msg/symfony-devs/jKphNy_0Q2Y/vYfkAuyjSHEJ建议将以下行添加到我的项目.htaccess

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Run Code Online (Sandbox Code Playgroud)

没有结果.我仍然得到"在SecurityContext中找不到A令牌"异常.

有人有想法吗?

编辑 内容$app['security.firewalls']如下

$app->register(new Silex\Provider\SecurityServiceProvider(), array(
'security.firewalls' => array(
'login' => array(
  'pattern' => '^/login$'
),
'admin' => array(
  'pattern' => '^/',
  'form'    => array('login_path' => '/login', 'check_path' => '/admin/login_check'),
  'logout'  => array('logout_path' => '/admin/logout'), // url to call …
Run Code Online (Sandbox Code Playgroud)

php symfony silex

21
推荐指数
1
解决办法
3871
查看次数

内部命中不适用于嵌套过滤器?

我刚刚升级到Elastic Search 1.5.0,到目前为止我无法使用嵌套过滤器使用inner_hits,尽管它可以与嵌套查询一起使用.

比方说,我要检索的内部嵌套对象演员一中的电影对象.

当我运行以下嵌套查询时:

语法1

GET my_index/movie/_search
{
  "query": {
    "filtered": {
      "query": {"match_all": {}},
      "filter": {
        "nested": {
          "path": "actors",
          "query": {
            "match": {
              "actors.id": 12345
            }
          }, 
          "inner_hits" : {}
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

=>我得到了这里记录的inner_hits ,这很好.

但是,当我尝试使用嵌套过滤器执行等效查询时:

语法2

GET my_index/movie/_search
{
  "query": {
    "filtered": {
      "query": {"match_all": {}},
      "filter": {
        "nested": {
          "path": "actors",
          "filter": {
            "term": {
              "actors.id": 12345
            }
          }, 
          "inner_hits" : …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

8
推荐指数
2
解决办法
4637
查看次数

弹性搜索中function_score的语法

我是Elastic Search的新手.我已经在ElasticSearch中为电影艺术家(演员和导演)编制索引,并且简单的文本搜索工作正常,例如,如果我使用以下语法搜索"steven"

{"query":
    {"query_string":
        {"query":"steven"}
    }
}
Run Code Online (Sandbox Code Playgroud)

...我得到以下结果,这很好:

1. Steven Conrad       - Popularity (from document) = 487 - elasticsearch _score = 3,2589545
2. Steven Knight       - Popularity (from document) = 487 - elasticsearch _score = 3,076738
3. Steven Waddington   - Popularity (from document) = 431 - elasticsearch _score = 2,4931839
4. Steven E. De Souza  - Popularity (from document) = 534 - elasticsearch _score = 2,4613905
5. Steven R. Monroe    - Popularity (from document) = 293 - elasticsearch _score = …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

7
推荐指数
1
解决办法
2725
查看次数

在Elastic Search查询中检索匹配的数组元素

在电影数据库中,我存储用户对每部电影给出的评分(0到5星)。我在弹性搜索(版本1.2.2)中建立了以下文档结构的索引

"_index": "my_index"
"_type": "film",
"_id": "6629",
"_source": {
  "id": "6629",
  "title": "Fight Club",
  "ratings" : [
    { "user_id" : 1234, "rating_value" : 3 },
    { "user_id" : 4567, "rating_value" : 2 },
    { "user_id" : 7890, "rating_value" : 1 }
    .....
  ]
}

"_index": "my_index"
"_type": "film",
"_id": "6630",
"_source": {
  "id": "6630",
  "title": "Pulp Fiction",
  "ratings" : [
    { "user_id" : 1234, "rating_value" : 1 },
    { "user_id" : 7654, "rating_value" : 2 },
    { "user_id" : 4321, …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

5
推荐指数
1
解决办法
4493
查看次数

清空垃圾收集器时Elasticsearch不可用?

我有一个由两个节点组成的Elasticsearch集群.(实时)网站直接使用此群集,在我的ES群集上不断运行搜索和索引查询.

我的问题是,在常规(并且不可预测)的基础上,当其中一个节点清空垃圾收集器时,整个集群变得不可用.我从节点日志得到的消息是这样的

[2015-07-01 06:43:19,525][INFO ][monitor.jvm] [my_node] [gc][old][205450][116]
duration [5.7s], collections [1]/[6.3s], total [5.7s]/[1m],
memory [22.3gb]->[4.9gb]/[30.9gb],
all_pools {[young] [392.9mb]->[17.2mb]/[665.6mb]}
{[survivor] [29.1mb]->[0b]/[83.1mb]}
{[old] [21.9gb]->[4.9gb]/[30.1gb]}
Run Code Online (Sandbox Code Playgroud)

根据我的理解(我不是一个java人),这一行表明ES正在清空它的垃圾收集器.因此,在5.7秒内,节点没有响应,我的群集也没有响应,也不是我的网站.这种停机时间每天发生5到10次.

我在这里做错了还是这个停机时间不可避免?我应该将Elasticsearch负载均衡器(即data = false,master = false的节点)添加到群集并让我的网站指向此负载均衡器吗?或者我应该在节点前添加另一种负载均衡器(HAProxy?)?或者这是否意味着服务器,数据有问题?

非常感谢提前

有关群集配置的一些信息

  • Elasticsearch 1.6.0集群由2个节点组成(5个分片,1个副本)
  • 该集群包含约1000万个文档,占用约30 Gb.
  • 每个节点都是64Gb RAM服务器,MAX_HEAP_SIZE设置为31g
  • 该网站每秒运行约300次搜索查询,每秒运行约100次索引查询
  • JVM堆的使用率始终在50%到75%之间,从不高于此值

java garbage-collection elasticsearch

5
推荐指数
1
解决办法
1860
查看次数

无法使用composer安装Horde Imap Client

我尝试安装Horde/Imap_Client,如此处所述

在一个空目录中,我创建一个composer.json包含以下内容的文件

{
    "repositories": [
        {
            "type": "pear",
            "url": "http://pear.horde.org"
        }
    ],
    "require": {
        "pear-pear.horde.org/Horde_Imap_Client": "*"
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我下载了composer可执行文件,并运行运行以下2个命令的安装

curl -s http://getcomposer.org/installer | php
php composer.phar install
Run Code Online (Sandbox Code Playgroud)

Mac OS X和Ubuntu 14.04上的下载和安装过程均失败.我得到的信息是

初始化PEAR存储库http://pear.horde.org无法加载来自http://pear.horde.org的 PEAR存储库.您的配置不允许连接到http:// http://pear.horde.org.有关详细信息,请参阅 https://getcomposer.org/doc/06-config.md#secure-http.安装依赖项(包括require-dev)无法将您的需求解析为可安装的软件包集.

问题1 - 在任何版本中找不到所请求的包pear-pear.horde.org/horde_imap_client,包名中可能存在拼写错误.

可能的原因: - 包名称中的拼写错误 - 根据您的最小稳定性设置,包中没有足够稳定的版本,请参阅 https://getcomposer.org/doc/04-schema.md#minimum-stability for更多细节.

阅读https://getcomposer.org/doc/articles/troubleshooting.md以了解更多常见问题.

部落/ Imap_Client是否已弃用或我做错了什么?

imap horde composer-php

4
推荐指数
1
解决办法
2317
查看次数

htaccess:将图像路径重定向到PHP脚本

我想要以下图片网址

http://www.example.com/image-provider/article/1275449_inline3_scale_700xauto.jpg
Run Code Online (Sandbox Code Playgroud)

要重定向到实际生成内容的以下PHP脚本

http://www.example.com/image-provider?url=article/1275449_inline3_scale_700xauto.jpg
Run Code Online (Sandbox Code Playgroud)

我在.htaccess中尝试了以下语法

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/image-provider/(.*)$ image-provider?url=$1 [L]
Run Code Online (Sandbox Code Playgroud)

到目前为止没有成功:我仍然得到404.我的.htaccess有什么问题吗?

php apache .htaccess mod-rewrite redirect

3
推荐指数
1
解决办法
630
查看次数