It's better when it's simple

User Tools

Site Tools


Disabled Functions

If you use a cheap webhost, they may have disabled some PHP functions for “Security Reasons”, this will probably break DokuWiki with errors like

Warning: xyz() has been disabled for security reasons

The first thing you should do is ask your Webhoster to change this or see if you can find a better hoster. If this is not a possibility you sometimes may be able to replace those functions.

To do so you need to find a replacement which doesn't use any of the disabled functions and put it into a inc/preload.php file, then you need to replace all calls to the disabled function with calls to your replacement in the whole DokuWiki code.

Below is a collection of a few replacements for functions used in DokuWiki:


Replaces readfile. find all places where it is used : readfile

function rpl_readfile($file){
    echo @fread($handle,filesize($file));


Replaces glob (From comment #71083). find all places where it is used : glob();

 * @author <BigueNique at yahoo dot ca>
function rpl_glob($pattern, $flags=0) {
    if (($dir=opendir($path))!==false) {
        while(($file=readdir($dir))!==false) {
            if (fnmatch($match,$file)) {
                if ((is_dir("$path/$file"))||(!($flags&GLOB_ONLYDIR))) {
                    if ($flags&GLOB_MARK) $file.='/';
        if (!($flags&GLOB_NOSORT)) sort($glob);
        return $glob;
    } else {
        return false;
 * @author <soywiz at php dot net>
if (!function_exists('fnmatch')) {
    function fnmatch($pattern, $string) {
        return @preg_match('/^' . strtr(addcslashes($pattern, '\\.+^$(){}=!<>|'), array('*' => '.*', '?' => '.?')) . '$/i', $string);


tips/disabled_functions.txt · Last modified: 2020-06-03 11:13 by andi

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki