Archief - Non-static method foutmelding

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

demon326

Legacy Member
Voor onze drupal website sneller te laten werken maken wij gebruik van de authcache module, deze zal echter niet werken als er een php error/notice getoond word, in dit geval de volgende foutmelding:
Non-static method utf_normalizer::nfc() should not be called statically","file":"/var/www/clients/clientx/webx/web/forum/includes/utf/utf_tools.php","line":1781

De makers van de phpbb bridge verwijzen naar phpbb om dit probleem op te lossen..

Deze oplossing heb ik geprobeerd: phpBB • View topic - Problems installing "Non-static method" maar dan geeft hij de foutmelding bij berichtplaatsen: Undefined variable: utfn

Zou iemand mij hier mee kunnen helpen? Het verschil(100 mili secondes vs 3 secondes) in page load time is echt de moeite om dit opgelost te krijgen :p

YaMo

Legacy Member
Als je nu in die file utf_tools.php deze code

PHP:
function utf8_normalize_nfc($strings)
{
	if (empty($strings))
	{
		return $strings;
	}

	if (!class_exists('utf_normalizer'))
	{
		global $phpbb_root_path, $phpEx;
		include($phpbb_root_path . 'includes/utf/utf_normalizer.' . $phpEx);
	}

	if (!is_array($strings))
	{
		utf_normalizer::nfc($strings);
	}
	else if (is_array($strings))
	{
		foreach ($strings as $key => $string)
		{
			if (is_array($string))
			{
				foreach ($string as $_key => $_string)
				{
					utf_normalizer::nfc($strings[$key][$_key]);
				}
			}
			else
			{
				utf_normalizer::nfc($strings[$key]);
			}
		}
	}

	return $strings;
}

vervangt door de volgende code?


PHP:
function utf8_normalize_nfc($strings)
{
	if (empty($strings))
	{
		return $strings;
	}

	if (!class_exists('utf_normalizer'))
	{
		global $phpbb_root_path, $phpEx;
		include($phpbb_root_path . 'includes/utf/utf_normalizer.' . $phpEx);
	}
	
	$normalizer = new utf_normalizer();

	if (!is_array($strings))
	{
		$normalizer->nfc($strings);
	}
	else if (is_array($strings))
	{
		foreach ($strings as $key => $string)
		{
			if (is_array($string))
			{
				foreach ($string as $_key => $_string)
				{
					$normalizer->nfc($strings[$key][$_key]);
				}
			}
			else
			{
				$normalizer->nfc($strings[$key]);
			}
		}
	}

	return $strings;
}
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan