我更新到PHP 7.2,它创建了一个问题数组(无双关语)。我一直在淘汰它们(主要是这些sizeof和count()警告。我们遇到的一个错误:
警告:sizeof():参数必须是在第236行的/usr/www/domain/phpmyd/includes/class_registry.php中实现Countable的数组或对象
我试图像这样修复它:if (sizeof($this->config) < 1) {
为此:if (!empty($this->config) &&(sizeof($this->config) < 1)) {
但是它产生了很多下面显示的错误,但是,我们以相同的方式修复了这个错误,并且效果很好。更改此内容:if (0 < sizeof($this->language)) {
为此:if (!empty($this->language) && (0 < sizeof($this->language))) {
排除基本相同的错误。现在,请记住,以上警告是仅剩的错误。其他所有内容都可以正常运行,但是,如果我“修复”警告,则会收到一堆错误,这些错误会破坏站点并且显得无关紧要。因此,如果我替换第一个字符串,则会出现所有这些错误:
- 警告:使用未定义的常量ADDON_DISCOUNT_CODES-已假定 “ ADDON_DISCOUNT_CODES”(这将在以后的版本中引发错误 第6行的/usr/www/domainlistings/phpmyd/index.php中的PHP)
- 警告:使用未定义的常量ADDON_BLOG-假定为“ ADDON_BLOG” (这会在将来的PHP版本中引发错误) /usr/www/domainlistings/phpmyd/cp/template/default/admin_header.tpl 在第134行
- 警告:使用未定义的常量ADDON_LINK_CHECKER-已假定 “ ADDON_LINK_CHECKER”(这会在以后的版本中引发错误 PHP)中 /usr/www/domainlistings/phpmyd/cp/template/default/admin_header.tpl 在第179行
这些错误没有出现,并且在我改变之前,这些东西运行良好
if (sizeof($this->config) < 1) {
该如何链接?我不确定这是怎么回事,哪条线会影响或破坏其他(看似无关)的事情。初始问题的完整代码(第236行):
/**
* Get a configuration value
* @param string $key
* @return mixed
*/
public function getconfig($key) {
if (sizeof($this->config) < 1) {
$this->loadConfig();
}
return isset($this->config[$key]) ? $this->config[$key] : false;
}
有什么想法吗?