小编Ser*_*ter的帖子

Facebook应用程序通过PHP SDK - 重定向回到有人在获得权限后添加我的应用程序的页面

我没什么问题.当我需要我的应用程序要求用户授予应用程序权限时,我使用以下代码:

<?php
$loginUrl = $facebook->getLoginUrl(
array(
    'canvas'    => 1,
    'fbconnect' => 0,
    'scope' => 'email,publish_stream,offline_access',
));
?>
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
Run Code Online (Sandbox Code Playgroud)

我工作正常,但在用户按"授予权限"后,他被重定向到我的应用程序URL.我的意思是直接http://mydomain.com/myapp/,而不是Facebook上的应用页面.我可以解决它 - 我知道我的应用程序的Facebook地址,所以我将他重定向到正确的http://apps.facebook.com/myappname.它也可以.但是 - 当有人在某个页面选项卡上添加我的应用程序时 - 这里出现问题.因为我不知道在哪里重定向用户 - 我不知道,从我的应用程序调用的页面.

有什么办法可以了解,从我的应用程序调用的页面,或者更好的是,让Facebook正确地将用户重定向到"Facebook页面",其中"授予权限"对话框后添加了应用程序选项卡?

php sdk facebook

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

怎么弄明白,什么减慢了码头工人的速度?

我的问题如下 - 我在OSX上使用包含Redis,NginX,PHP 7和Unison的容器的Docker.映射到php容器我有Symfony 3.1.7的卷.

一切正常,但Symfony的"欢迎"页面平均需要1.5秒的加载时间.同时没有泊坞窗的相同设置给我0.2秒的加载时间.与Symfony的控制台命令相同,所以,我想,这不是NginX的问题,Unison应该否定与Docker文件同步OSX问题相关的所有问题.

现在我已经没有想法我能做些什么来加快速度,以及如何找出造成1.5秒延迟的原因.

我在我的第二个MBP上遇到了同样的问题,但这种情况不会发生在同事笔记本电脑上,这与我的相似,但我们无法找到两个设置之间的任何差异.

一切都在我的MBP上运行,具有2.5 GHz i5,8 Gb RAM和SSD.

Docker 1.12.3,OSX 10.12.1(Sierra)

泊坞窗,compose.yml:

mydockerbox-redis:
  image: phpdockerio/redis:latest
  container_name: mydockerbox-redis

mydockerbox-webserver:
  image: phpdockerio/nginx:latest
  container_name: mydockerbox-webserver
  volumes:
      - ..:/var/www/mydockerbox
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
  ports:
   - "80:80"
  links:
   - mydockerbox-php-fpm

unison:  
  image: leighmcculloch/unison:latest  
  environment:  
    - UNISON_WORKING_DIR=/unison  
  volumes:
    - ../mydockerbox:/var/www/mydockerbox
  ports:  
    - "5000:5000"

mydockerbox-php-fpm:
  build: .
  dockerfile: php-fpm/Dockerfile
  container_name: mydockerbox-php-fpm
  volumes_from:  
    - unison  
  volumes:
    - ./php-fpm/php-ini-overrides.ini:/etc/php/7.0/fpm/conf.d/99-overrides.ini
  links:
    - mydockerbox-redis
Run Code Online (Sandbox Code Playgroud)

UPD这里是php-fpm容器的Dockerfile:

FROM phpdockerio/php7-fpm:latest

# Install selected extensions and other stuff
RUN apt-get update \ …
Run Code Online (Sandbox Code Playgroud)

php macos performance symfony docker

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

如何解决"检测到服务的循环引用"问题?

我正在尝试将我的存储库服务注入到EventListener中,但这导致我发现异常,这是因为我对Symfony2的基本知识,我不知道如何解决.例外情况是:

bootstrap.php.cache第2129行中的ServiceCircularReferenceException:

检测到服务"doctrine.orm.default_entity_manager"的循环引用,路径:"doctrine.orm.default_entity_manager - > doctrine.dbal.default_connection - > person.connect.listener - > tag.repository.service".

这是我如何声明存储库和监听器:

tag.repository.service:
    class: Application\Bundle\PersonBundle\Entity\TagRepository
    factory: ["@doctrine", getRepository]
    arguments: [ Application\Bundle\PersonBundle\Entity\Tag ]

person.connect.listener:
    class: Application\Bundle\PersonBundle\EventListener\ConnectListener
    arguments:
        tokenStorage: "@security.token_storage"
        tagRepo: "@tag.repository.service"
    tags:
        - { name: doctrine.event_listener, event: postPersist, connection: default }
Run Code Online (Sandbox Code Playgroud)

我能找到的大多数答案建议注入服务容器,但我真的不想这样做.有没有办法妥善解决这个问题?

UPD:这是监听器的代码.在我尝试注入TagRepository之前,一切正常

class ConnectListener
{
/**
 * @var TokenStorage
 */
private $tokenStorage;

/**
 * @var TagRepository
 */
private $tagRepo;

/**
 * @param TokenStorage $tokenStorage
 * @param TagRepository $tagRepo
 */
public function __construct(TokenStorage $tokenStorage, TagRepository $tagRepo)
{
    $this->tokenStorage = $tokenStorage; …
Run Code Online (Sandbox Code Playgroud)

php symfony doctrine-orm

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

标签 统计

php ×3

symfony ×2

docker ×1

doctrine-orm ×1

facebook ×1

macos ×1

performance ×1

sdk ×1