Cakephp 3.1 有 PHP7.2 的问题

Cakephp 3.1 have issues with PHP7.2

我已经使用 cakephp 3.1 开发了我的网络应用程序。我的服务提供商已将 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

请帮我解决问题,谢谢

您似乎将一些错误的数据传递给了计数函数,我猜您是将一些查询直接传递给了计数。或类似的东西。 如果您可以显示您所面临问题的控制器代码,这可能会有很大帮助。

根据 Cakephp github 问题:

PHP 7.2 改变了计数的行为 这就是您收到错误的原因。

PHP 7.2 has changed count's behavior causing problems with QueryCompiler

您可以按照以下 link 或将您的 PHP 版本更改为 7.1 或更低版本来解决此问题。

Stop warnings when using count in QueryCompiler in PHP 7.2

有适合您的解决方案.... 2020-09-30 06:22:30警告:警告(2):count()[function.count]:参数必须是数组或在[D:\xampp\htdocs\gym_master\vendor\cakephp\cakephp\src\Database\QueryCompiler中实现Countable的对象。php, 第 126 行]

请检查您的 php 版本...