Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 一个具有多个域的Symfony应用程序_Php_Symfony - Fatal编程技术网

Php 一个具有多个域的Symfony应用程序

Php 一个具有多个域的Symfony应用程序,php,symfony,Php,Symfony,我有一个Symfony2应用程序,只在一台服务器上,但因为它是国际化的,所以我有多个域名(不是子域)。 我想要实现的是,如果用户更改了语言,我将重定向到其他主机,并且用户应该已经登录到其他语言环境 我有两个独立的域名,像book.com和buch.de。 最初的问题是,用户登录book.com,在那里他将语言更改为德语,因此我想将他重定向到buch.de,但由于另一个域,用户将获得一个新的cookie,他将不再登录。您需要在路由配置中使用主机参数: homepage: path:

我有一个Symfony2应用程序,只在一台服务器上,但因为它是国际化的,所以我有多个域名(不是子域)。 我想要实现的是,如果用户更改了语言,我将重定向到其他主机,并且用户应该已经登录到其他语言环境

我有两个独立的域名,像book.com和buch.de。
最初的问题是,用户登录book.com,在那里他将语言更改为德语,因此我想将他重定向到buch.de,但由于另一个域,用户将获得一个新的cookie,他将不再登录。

您需要在路由配置中使用
主机
参数:

homepage:
    path:     /
    host:     "example.{national_domain}"
    defaults: { _controller: AcmeDemoBundle:Main:Homepage }
然后,您需要在每次生成URL时传递这个
国家域
参数。我认为你可以编写一些自动完成的侦听器

要在域之间“共享”cookie,您需要一个域作为主域并进行单一登录。它将拥有所有需要的cookies,您将能够使用一些GET参数将用户从这个主域重定向到国家域,这些参数将包含所有需要的信息


您可以找到Symfony的单点登录实现之一。

我对cookie有问题,它与路由无关。好的。这是另一个问题。您需要单一登录功能。你可以使用这个捆绑包:在我发布这个问题之前,我花了3个小时来处理这个捆绑包,但我无法让它工作。如果您有一个工作示例,我会很高兴看到它,因为文档对该捆绑包来说非常糟糕(他们甚至没有写我需要更新我的数据库),我甚至不知道该实现如何工作。