我一直在争论这个问题,并且无法解决这个问题,也许其他人已经或者可能在这里有更深层次的问题,包括Slim,PHP,Apache等.经过几个小时的工作,我的Slim安装将开始给予这在所有路线上:
致命错误:类Slim\Collection包含1个抽象方法,因此必须在F:\ Projects\example\server\vendor\slim\slim\Slim\Collection.php中声明为抽象或实现其余方法(IteratorAggregate :: getIterator)第21行
如果我重新启动Apache,这个问题就会消失.(反正几个小时.)
我发现这是两年前有人遇到过类似问题的人,而且这个人在没有实际协助的情况下帮助他们:https://community.apachefriends.org/viewtopic.php?p = 250966&sid = 96ef58aaeb7fe142a7dcdfd506a8683f
我已经尝试过干净的擦除并安装我的作曲家供应商目录.这不能解决它.我可以清楚地看到getIterator在错误消息中的文件中按预期实现了.
PHP版本7.0.12,Windows 7,x86 PHP构建
它在几个小时后再次发生,但有一个不同但相似的错误消息:
致命错误:类Pimple\Container包含1个抽象方法,因此必须在F:\ Projects\example\server\vendor\pimple\pimple\src\Pimple\Container中声明为抽象或实现其余方法(ArrayAccess :: sqlserver).第34行的PHP
这个问题有一个类似的问题,并通过重新启动PHP"解决"它,但这显然不是一个实际的解决方案,我没有启用opcache: PHP 7,Symfony 3:致命错误1抽象方法,因此必须声明抽象或实现其余方法
任何猜测?请记住:此消息位于我未编写的文件中,并在Apache重新启动时消失.是否有一些PHP 7的缓存会导致这种情况?
编辑3/10/17:
是的,我用Slim打开了一张票.我也看到它在一个非苗条的文件(疙瘩),所以我不认为这是一个苗条的问题. https://github.com/slimphp/Slim/issues/2160
正如我所说,我的opcache已关闭.我已经确认这在php.ini文件和查看phpinfo()中都是正确的.