我已经使用Cakephp 3.1开发了我的Web应用程序。我的服务提供商已将php版本更新为7.2。现在,我的应用程序无法正常运行,因为它正在与PHP5.6一起使用,它与debug=true;
一起显示不同的警告,最大的问题是,如果有问题,则没有显示行。这是警告消息。
Warning: count() [function.count]: Parameter must be an array or an object that implements Countable in D:\xampp7\htdocs\bighris\vendor\cakephp\cakephp\src\Database\QueryCompiler.php on line 115
如果有些错误没有显示出来,则通过以下方式,我找不到有问题的行号和文件。
https://www.screencast.com/t/qIQB1YIW
请帮助我解决问题,谢谢
答案 0 :(得分:0)
看来您正在传递一些错误的数据来计数函数,猜想您正在直接传递一些查询来进行计数。或类似的东西。 如果您可能会看到遇到问题的控制器代码,则可能会有很大帮助。
答案 1 :(得分:0)
根据Cakephp github问题:
PHP 7.2更改了计数的行为 这就是为什么您会遇到错误。
PHP 7.2 has changed count's behavior causing problems with QueryCompiler
您可以点击以下链接,或将PHP版本更改为7.1或更小版本来解决此问题。
答案 2 :(得分:-1)
有适合您的解决方案...。 2020-09-30 06:22:30警告:警告(2):count()[function.count]:参数必须是在[D:\ xampp \ htdocs \ gym_master \ vendor \中实现Countable的数组或对象cakephp \ cakephp \ src \ Database \ QueryCompiler.php,第126行]
请检查您的php版本...