小编brp*_*paz的帖子

在用户注销时从我的应用程序中删除facebook会话cookie

我正在使用Facebook连接使用他们的Facebook帐户登录用户的应用程序.

一切正常,但以下情况除外:

  1. 用户从我的网站和Facebook退出.
  2. 用户尝试在我的应用中再次登录.

在这种情况下,当facebook连接弹出窗口打开时显示"应用程序中的错误".

我发现原因是用户注销时没有删除旧的fbs cookie.我已添加代码以在我的应用程序注销时删除cookie,但cookie不会被删除.

这是我的代码(使用Symfony框架.)

$fbCookie = 'fbs_'.sfConfig::get('app_facebook_application_id');
          $cookie = $request->getCookie($fbCookie);
          if(!is_null($cookie)){
            setCookie($fbCookie," ", time()-3600);
          }       
Run Code Online (Sandbox Code Playgroud)

这不起作用.cookie保持不变.setCookie函数按预期返回"1".

可能是什么问题?

php cookies facebook logout

5
推荐指数
3
解决办法
4万
查看次数

同一捆绑不同的路线

我需要有不同的路由指向同一个包.例如:/ mkt/contacts和/ crm/contacts应指向同一个联系人捆绑包.

为什么?我正在开发一个平台(一个symfony2项目),它有许多应用程序(一个营销应用程序,一个CRM应用程序等等.每个应用程序都是一组模块(bundle),其中一些是在应用程序之间共享的(比如ContactsBundle).

我需要做的是共享包的路由前缀是相对于当前应用程序的,所以如果用户在Marketing Application(/ mkt /)中,那么ContactBundle的路由前缀应该是/ mkt/contact.但如果它在CRM应用程序中应该是/ crm/contacts

我想我可以在routing.yml中创建两个路由资源,如下所示:

route1:
    resource: "@Contactundle/Resources/config/routing.yml"
    prefix:   /crm/contact
route2:
    resource: "@ContactBundle/Resources/config/routing.yml"
    prefix:   /mkt/contact
Run Code Online (Sandbox Code Playgroud)

最大的问题是在使用路径功能时的视图中.我如何知道路线的名称?我能想到的唯一可能的解决方案是创建一些twig扩展,它检查当前的pathinfo并返回正确的路由前缀.

有更好的想法吗?

routing bundle symfony symfony-routing

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

如何在生产中管理应用程序配置/环境变量

我阅读了一些文章,声明应该将应用程序配置/参数保留在版本控制之外,并在生产环境中设置为环境变量.

我的问题是:你如何管理这些环境变量?

使用像Puppet这样的配置管理工具?如果您要部署新版本的应用程序并需要添加一些新的配置变量,该怎么办?

您的部署脚本可能也在版本控制中,因此如果您在其中设置任何生产变量,那么每个具有部署访问权限的人都可以看到它.(以及像Capistrano这样的工具将部署脚本与应用程序源代码一起存储.)

这有什么常见的做法?谢谢您的帮助.

environment-variables configuration-management production-environment

5
推荐指数
0
解决办法
140
查看次数

Symfony和Docker - 缓存和日志目录权限

我正在尝试使用docker设置Symfony项目,但总是给出与"cache"目录中的权限相关的错误.

我已经尝试了一切,我似乎无法找到解决方案.问题是以某种方式缓存文件夹是用"root"所有者创建的,即使我的服务器和php-fpm用户设置为www-data.也许是因为php-cli用户?

我试过: - setfacl:不使用docker - chown/chmod到www-data:也没用.它可能会在开始时正确地更改所有者,但它们会在其他地方出错.

泊坞窗,compose.yml

app:
  build: .
  command: "tail -f /dev/null" # keep the application container running
  links:
      - mysql
  volumes:
    - .:/var/www

nginx:
  build: docker/nginx/
  ports:
    - 8090:80
  links:
    - php-fpm
  volumes_from:
    - app

php-fpm:
  build: docker/fpm
  ports:
    - 9000:9000
  volumes_from:
    - app

mysql:
  image: mysql:5.7
  volumes:
     - ./docker/data/mysql:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

我的app Dockerfile:

FROM php:5.6-cli

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get install -y \
    git \
    vim \
    curl \
    php5-json \
    php5-intl \
    php5-mcrypt …
Run Code Online (Sandbox Code Playgroud)

php file-permissions symfony docker docker-compose

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

使用javascript调整textarea以适应流畅的宽度布局

我有一个流畅的布局,我需要一个textarea来扩展/减少父容器的大小.

在CSS中它看起来像这样:

textarea{
width: 100%;
}
Run Code Online (Sandbox Code Playgroud)

但这不适用于textareas.

我怎么能用javascript做到这一点?我可以获得父元素宽度,并计算适合该宽度的cols数量,但我如何知道1 col的大小(以px为单位)?

javascript layout textarea fluid resizable

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

水豚检查表列是否有值

我是Cucumber和Capybara的新手,我有一张桌子,我需要检查特定列是否有某些价值.

我的步骤将是这样的:(在伪代码中)我应该看到有价值的东西:A,B,C

然后我需要查询具有特定id的表,并检查第二列的所有行是否都有一个在步骤中传递的值.

在这个例子中,这应该通过测试

some value | A
some value | B
some value | A
some value | A
some value | C
Run Code Online (Sandbox Code Playgroud)

但是这不会通过:

some value | A
some value | D
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

testing bdd ruby-on-rails cucumber capybara

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

由用户设置 php 会话超时

可以在 php 中由用户设置会话超时吗?

示例:2 个用户在我的站点中注册。我希望每个用户都可以设置自己的会话超时。

php session timeout

2
推荐指数
1
解决办法
2839
查看次数

红宝石 - 岩石,纸.剪刀比赛

我需要实现一个摇滚,纸张,剪刀锦标赛模拟器,它将播放所有轮次并返回锦标赛.

这是我的锦标赛阵列:

tournament = [
    [
        [ 
            ["Armando", "P"], ["Dave", "S"] 
        ],
        [ 
            ["Richard", "R"],  ["Michael", "S"] 

        ],
    ],
    [
        [ ["Allen", "S"], ["Omer", "P"] ],
        [ ["David E.", "R"], ["Richard X.", "P"] ]
    ]
]
Run Code Online (Sandbox Code Playgroud)

例如["Richard","R"],["Michael","S"]代表理查德饰演Rock和Michael Scissors的游戏.理查德应该是胜利者并进入下一轮.

我正在尝试为此实现递归函数,但我无法正确获取数组

这是我的方法:

 def rps_tournament_winner(tournament)

  qualifying_round_winners = []
   round_winners = []
  # last round

  if tournament.length < 1
    return
  end

  tournament.each_with_index do |round,i|   
 puts round.inspect
     qualifying_round_winners[i] = []
     round_winners = []
     round.each_with_index do |game,j|
         winner = rps_game_winner(game)
         round_winners.push winner
     end
     qualifying_round_winners[i] = round_winners …
Run Code Online (Sandbox Code Playgroud)

ruby

2
推荐指数
1
解决办法
4803
查看次数

Makefile 包含 .env 与 MAKEFILE_LIST 冲突

我有一个 Makefile,我想在其中加载放置在.env文件中的环境变量 。

我正在使用该include指令来实现这一点。

-include .env
Run Code Online (Sandbox Code Playgroud)

我还有一个help目标来显示可用任务:

help: ## Displays help menu
    grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
Run Code Online (Sandbox Code Playgroud)

问题是当与 include 指令一起使用时,它不能正常工作。帮助任务只显示“Makefile”作为所有目标的名称。

$(MAKEFILE_LIST)回报“的Makefile,.ENV”,而不是目标的名字,所以我想它成为搞砸与.ENV莫名其妙。

我对 Makefile 的了解不够,无法理解出了什么问题。

有任何想法吗?

谢谢。

makefile

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