Php 部署Symfony2应用程序获取fosuserbundle错误

Php 部署Symfony2应用程序获取fosuserbundle错误,php,symfony,fosuserbundle,Php,Symfony,Fosuserbundle,我已在另一台具有相同规格的计算机上安装了我的Symfony项目,使用fosuserbundle登录时收到以下错误: 由于系统问题,无法处理身份验证请求。 我在应用程序/日志文件中找不到任何感兴趣的内容。我在开发模式下运行应用程序。手动或从控制台清除缓存。我用doctor:database:create设置数据库。它使用fos:user:create创建新用户,并成功保存到数据库中 我不知道从这里走到哪里。您可能在参数.yml中设置了错误的密码,因此它可能无法连接到数据库。 当应用程序无法连接到D

我已在另一台具有相同规格的计算机上安装了我的Symfony项目,使用fosuserbundle登录时收到以下错误:

由于系统问题,无法处理身份验证请求。

我在应用程序/日志文件中找不到任何感兴趣的内容。我在开发模式下运行应用程序。手动或从控制台清除缓存。我用doctor:database:create设置数据库。它使用
fos:user:create
创建新用户,并成功保存到数据库中


我不知道从这里走到哪里。

您可能在
参数.yml中设置了错误的密码,因此它可能无法连接到数据库。
当应用程序无法连接到DB以检查用户是否真实时,就会出现上述错误。

(我也遇到了同样的错误,这是我的问题,希望能有所帮助)

检查以确保您的数据库是最新的。这解决了我收到此错误时的问题

php app/console doctrine:schema:update --dump-sql

编辑:在开发环境中工作时,拼写出现了相同的问题。我更新了我的用户模型,每次尝试登录时都会遇到您的错误。通过运行解决:

app/console cache:clear

编辑:再次出现同样的问题。这一次是因为我将项目移动到了另一台服务器,忘记了更新
parameters.yml
以匹配服务器的MySQL凭据。

在部署过程中,通常是环境问题(假设应用程序在开发站中正常工作)。 FOSUserBundle它很棒,但由于某些原因,它没有很好地显示出它背后的问题

如错误消息所示:“…由于系统问题而无法处理”

如果清理缓存或更新模式都有效,我建议尝试绕过FOSUserBundle(通常问题是代码/配置和服务器环境之间的问题),并让您与默认errorhandler和logger的捆绑包通知任何问题

在我的情况下,这是一个司机的问题。(安装pdo)

要绕过它,最简单的方法是删除security.yml中控制器的安全性

access_control:
{ path: ^/SomeCRUD, role: IS_AUTHENTICATED_ANONYMOUSLY }
然后,如果您访问它,它应该能够记录问题,并且您应该能够修复它


希望它有助于确保您的用户实体实现


如果您使用条令:database:create生成了数据库,那么您的字符集可能不合适。因为用户表有一个序列化字段(角色),所以错误的编码可能是原因

您可以通过查看应用程序/日志和数据库排序来检查这一点


或者,检查一下,我也有同样的问题。我能够用
php应用程序/控制台原则构建和填充数据库:schema:update--force;php应用程序/控制台原则:fixture:load但symfony应用程序无法访问数据库


问题是我在
参数中设置了
数据库\u主机:127.0.0.1
。yml
但是
mysql
希望我通过
本地主机连接。更新
参数.yml
修复了该问题。我仍然对命令行的工作原理感到困惑…

我遇到了完全相同的问题。我采取的步骤如下:

  • 我清除了缓存
  • 我关闭了所有的db表,并通过迁移重新创建了它们
  • 在约束方法的参数的实体注释中,我将使用单引号(')的地方替换为双引号(“)

    例子
    //src/SomeBundle/Model/user.php
    
    这被替换为

    <?php
    /**
    *
    * @Assert\File(
    *  maxSize="512k",
    *  mimeTypes={"image/png", "image/jpeg", "image/gif"},
    *  mimeTypesMessage= "Please upload a valid png, gif or jpeg file below 512Kb"
    * )
    */
    private $profilePic;
    ?>
    
    
    

  • 完成此操作后,我再次尝试了身份验证,它成功了!

    我遇到了问题Symfony 2.3,当我执行应用程序/控制台原则:schema:update--dump sql时,结果就是这样

    在fos_用户上放置索引UNIQ_957A647992FC23A8; 在fos_用户上放置索引UNIQ_957A6479A0D96FBF; 更改表fos\u用户删除用户名、删除用户名\u规范、删除电子邮件、删除电子邮件\u规范、删除启用、删除盐、删除密码、删除最后一次登录、删除锁定、删除过期、删除过期时间、删除确认令牌、删除密码\u请求时间、删除角色、删除凭据过期时间、删除凭据过期时间

    在我将doctrine bundle从1.2更新到1.3之后,它又开始工作了

    信息:


    看起来错误如下:

    由于系统问题,无法处理身份验证请求

    太笼统了,没有说明问题在哪里(关于这件事有一个问题)

    我通过检查日志并查看发生了什么(在
    var/logs/dev.log
    中),解决了我的问题,希望这对某人有所帮助


    在我的具体案例中,parameters.yml about database中有一个错误的参数。

    检查了Web服务器的error.log?你确定app/logs文件没有包含有用的内容吗?对我来说,这是数据库错误,在运行
    doctor:shcema:update
    resolved:)之后,它对我有效。我相信这个问题的目的是就是要找出什么"系统问题"“FOSUserBundle的背后是避免登录过程,我只是告诉大家我在部署中的经历,我在部署中遇到了同样的问题,以及解决问题的方法。很抱歉没有帮上忙,谢谢。由于数据库中没有完整的用户架构,它正在抛出消息。非常感谢。这花费了我太多的时间。我在哪里运行这些命令?我也有同样的问题。但是我找不到任何解决办法来清除我的电子商务上的缓存文件。@TheGreenFoxx打开你的终端;导航到Symfony的项目目录,然后是
    app
    子文件夹。在这里可以找到
    控制台
    文件(实际上它是一个没有扩展名的php文件)。在终端上键入
    php控制台缓存:clear
    ,这将清除“dev”环境中的缓存(如果正在生产,请运行
    php控制台缓存:clear--env=prod
    )。
    //src/SomeBundle/Model/user.php
    <?php
    /**
    *
    * @Assert\File(
    *  maxSize='512k',
    *  mimeTypes={'image/png', 'image/jpeg', 'image/gif'},
    *  mimeTypesMessage= 'Please upload a valid png, gif or jpeg file below 512Kb'
    * )
    */
    private $profilePic;
    
    ?>
    
    <?php
    /**
    *
    * @Assert\File(
    *  maxSize="512k",
    *  mimeTypes={"image/png", "image/jpeg", "image/gif"},
    *  mimeTypesMessage= "Please upload a valid png, gif or jpeg file below 512Kb"
    * )
    */
    private $profilePic;
    ?>