You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The geeklog.net server was upgraded which resulted in geeklog.net to crash and errors like this in the server logs:
example.com [Fri Jan 27 06:28:39 2017] [notice] [pid 874]
mpm_unix.c(436): [client AH00052: child pid 61647 exit signal
Segmentation fault (11)
No php errors was recorded. Apache and php actually crashed. This does not happen on other apache and iis servers.
After a long search it looks like the error results when DokuWiki attempts to authenticate the Geeklog user.
In public_html\dokuwiki\inc\auth.php
Function auth_isMember at line 585
$user = $auth->cleanUser($user);
cleanUser is called which eventually calls function cleanID
In public_html\dokuwiki\inc\pageutils.php
which itself on line 128 calls
$id = utf8_strtolower($id);
Here is the problem. Function utf8_strtolower attempts to see if the "Normalizer" class exists and then run the normalize function. Disabling this call so it will use mb_strtolower, as seen below of seeing if the class exists seems to fix this issue.
function utf8_strtolower($string){
if(UTF8_MBSTRING) {
//if (class_exists("Normalizer", $autoload = false))
if (false)
return normalizer::normalize(mb_strtolower($string,'utf-8'));
else
return (mb_strtolower($string,'utf-8'));
}
global $UTF8_UPPER_TO_LOWER;
return strtr($string,$UTF8_UPPER_TO_LOWER);
}
What is the actual fix here?
The text was updated successfully, but these errors were encountered:
This error seems to occur when Normalizer class exists and Intl library which the class depends on is not proper configured. You can't expect all users to correctly set up Intl library, especially on shared servers. So, your fix is best for the moment.
eSilverStrike
changed the title
DokuWiki crashes on Geeklog.net
DokuWiki crashes on FreeBSD 10 server with Apache and PHP 5.6
Jan 28, 2017
The geeklog.net server was upgraded which resulted in geeklog.net to crash and errors like this in the server logs:
example.com [Fri Jan 27 06:28:39 2017] [notice] [pid 874]
mpm_unix.c(436): [client AH00052: child pid 61647 exit signal
Segmentation fault (11)
No php errors was recorded. Apache and php actually crashed. This does not happen on other apache and iis servers.
After a long search it looks like the error results when DokuWiki attempts to authenticate the Geeklog user.
In public_html\dokuwiki\inc\auth.php
Function auth_isMember at line 585
$user = $auth->cleanUser($user);
cleanUser is called which eventually calls function cleanID
In public_html\dokuwiki\inc\pageutils.php
which itself on line 128 calls
$id = utf8_strtolower($id);
Here is the problem. Function utf8_strtolower attempts to see if the "Normalizer" class exists and then run the normalize function. Disabling this call so it will use mb_strtolower, as seen below of seeing if the class exists seems to fix this issue.
What is the actual fix here?
The text was updated successfully, but these errors were encountered: