我遇到了一个有趣的问题,正在阻止邮件警报模块在我的Prestashop 1.7.5.1商店上工作。
我刚刚(2019年4月25日)从官方仓库(https://github.com/PrestaShop/ps_emailalerts)安装了该模块。
我激活它,转到“配置”,用我的电子邮件填写“ MERCHANT NOTIFICATIONS”部分,单击“保存”,我得到了:
Warning on line 205 in file /var/www/html/shop.example.com/public_html/modules/ps_emailalerts/ps_emailalerts.php
[2] count(): Parameter must be an array or an object that implements Countable
针对我输入的每封电子邮件重复。
有什么想法吗?
答案 0 :(得分:1)
这是由于PHP 7.3中的某些更改以及您启用了PHP警告(也许您在PrestaShop中打开了“ DEV MODE”?)所致。
您有三种方法可以解决此问题:
降级到PHP 7.1
或
编辑第205行的ps_emailalerts.php文件,并在is_array() &&
之前添加count()
,如下所示:
} elseif (!empty($email) && is_array($email) && count($email) > 0) {
或
关闭php.ini和/或PrestaShop中的PHP警告和错误
我希望这会有所帮助。