在我的Windows上,当我从git中拉出/克隆此项目并运行此命令时
bin/console doctrine:fixtures:load
小心,数据库将被清除。你想继续y / N?y
清除数据库>加载AppBundle \ DataFixtures \ ORM \ RequestFixture \ RequestFixture
[Symfony的\元器件\调试\异常\ ContextErrorException] 注意:未定义的偏移量:-5
它给了我一个错误。
但是当我在Mac上运行时,一切运行正常。
答案 0 :(得分: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
实现中的一个错误,但这些只是猜测。