Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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 供应商更新了FOS用户捆绑包,其中包含;对非对象调用成员函数has();_Php_Symfony_Fosuserbundle - Fatal编程技术网

Php 供应商更新了FOS用户捆绑包,其中包含;对非对象调用成员函数has();

Php 供应商更新了FOS用户捆绑包,其中包含;对非对象调用成员函数has();,php,symfony,fosuserbundle,Php,Symfony,Fosuserbundle,我为一个Symfony 2.8项目更新了我的供应商,但登录页面突然无法加载–相反,我得到了以下信息: 错误:对中的非对象调用成员函数has() 供应商/symfony/symfony/src/symfony/Bundle/FrameworkBundle/Controller/Controller.php 第184行 这类问题我已经见过好几次了,但我找不到一个可以接受的答案和解释。这就来了 基本问题在于: "friendsofsymfony/user-bundle": "~2.0@dev", 当

我为一个Symfony 2.8项目更新了我的供应商,但登录页面突然无法加载–相反,我得到了以下信息:

错误:对中的非对象调用成员函数has() 供应商/symfony/symfony/src/symfony/Bundle/FrameworkBundle/Controller/Controller.php 第184行


这类问题我已经见过好几次了,但我找不到一个可以接受的答案和解释。这就来了

基本问题在于:

"friendsofsymfony/user-bundle": "~2.0@dev",
当Symfony 2.8/3.0首次发布时,FOSUserBundle的稳定1.x版本不再有效。2.x版本已经开发了很多年了,但还没有看到何时能够稳定下来的实际路线图。因此,开发部门被黑客入侵以使其正常工作。人们别无选择,只能使用它,这当然是危险的,因为你永远不知道什么时候开发变更会破坏你的代码

随着时间的推移,FOSUserBundle最终发布了一个稳定的2.x版本。然而,相当多的开发人员从来没有抽出时间来更新他们的依赖项,而是继续使用主分支

快进到现在。Symfony 4的发布现在已经在master分支中触发了大量的开发。正在对现有2.8(可能还有3.0)代码进行突破性更改的开发

底线是使用具有以下特性的稳定分支:

"friendsofsymfony/user-bundle": "~2.0",

之后是编写器更新。

这很奇怪,但今天我使用composer.json中的正确配置对编写器进行了更新-

"friendsofsymfony/user-bundle": "~2.0",
但一个月前也出现了同样的错误:


错误:在第184行的vendor/symfony/symfony/src/symfony/Bundle/FrameworkBundle/Controller/Controller.php中,调用成员函数has()on null对于那些使用symfony 3.2的人来说,版本“~2.1”与OP的版本“~2”抛出相同的错误。0@dev".

这起到了作用:

"friendsofsymfony/user-bundle": "2.0"

将它保持在2.0对我来说是个好办法。

我也有同样的问题,但我没有@dev(而且从来没有过)

堆栈跟踪有点不同:

in vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Controller\Controller.php at line 234

这里有一个这样的问题,但解决了,我只是做了相反的事情。 我有:

“friendsofsymfony/user bundle”:“^2.1”,

在我的composer.json文件中,我调用了一个成员函数has()on null错误,为了解决这个问题,我实际上添加了“@dev it been:

“friendsofsymfony/用户包”:“^2。1@dev“,

然后用以下内容更新了我的作曲家:

作曲家更新


我想故事的寓意是:不要使用第三方软件的开发版本。因此,请尝试删除fos用户包中的@dev部分。在2.8/3.0首次发布时,它是需要很长一段时间的,但现在有稳定的版本可用。作为答案发布,我可以检查它是否已解决=)在2.1.1中对我来说也是一样,2.0.2没有问题.事实上,我越想这个,我就越觉得它不相关,所以我会开始一个新的线程。
in vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Controller\Controller.php at line 234