Windows上的Alice数据夹具错误

问题描述 投票:0回答:1

在我的Windows上,当我从git中拉出/克隆这个项目并运行此命令时

 bin/console doctrine:fixtures:load

小心,数据库将被清除。你想继续y / N吗?

清除数据库>加载AppBundle \ DataFixtures \ ORM \ RequestFixture \ RequestFixture

[Symfony \ Component \ Debug \ Exception \ ContextErrorException]注意:未定义的偏移量:-5

它给了我一个错误。

但是当我在我的Mac上运行时,一切运行正常。

git symfony nelmio-alice
1个回答
0
投票

我在使用XAMPP,PHP 7.2.0和Symfony 4的Windows上遇到同样的问题。我把错误指向了vendor\fzaninotto\faker\src\Faker\Provider\Base.php。在Base::randomElements内部有以下声明:

$num = mt_rand(0, $highKey);

看起来$num用于从传递给Base::randomElements的伪数据数组中选择一个随机项,然后将其添加到返回的$elements数组中。

在你的情况下,对mt_rand的调用是返回-5。偏移量-5未在数组上定义,该数组期望正数作为偏移量。

我能弄清楚的是,mt_rand(0, $highKey)实际上是在-$highKey/2+$highKey/2之间返回一个数字。此外,每次调用该方法时,它始终生成完全相同的数字。

我无法弄清楚为什么mt_rand(0, $highKey)产生负数。可能是发电机播种不当,或者它可能是mt_rand实施中的一个错误,但那些只是在这一点上疯狂的猜测。

© www.soinside.com 2019 - 2024. All rights reserved.