Welche Funktionen benötigt Piwik für die Stats?


#1

Guten Tag Leute,

und zwar habe ich eine Frage an euch. Es geht um Piwik und die php-Funktionen. In der php.ini kann man ja bekanntlich festlegen, bestimmte Funktionen zu deaktivieren. Aus Sicherheitsgründen habe ich folgende Funktionen bei mehr auf “disabled” gestellt:

dl, error_log, exec, fsockopen, get_current_user, getrusage, leak, link, openlog, passthru, pfsockopen, popen, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, symlink, syslog, system

Leider Funktioniert Piwik nicht mehr nachdem ich die Liste erweitert habe. Welche Funktion benötigt Piwik?

Danke in advance

Karlchen


#2

Welche Funktion benötigt wird findest du wohl am schnellsten durch einen Blick ins PHP-Error-Log heraus.


#3

Leider wohl doch nicht so schnell wie du sagst. Das Log als auch das Interface geben mir:


Fatal error: Nesting level too deep - recursive dependency? in /var/www/domain.tld/piwik/core/ErrorHandler.php on line 36

aus.

In der genannten Datei befindet sich folgender Code an 36. Zeile:


$args = preg_replace(

Der umliegende Code sieht etwa so aus:


function Piwik_ErrorHandler($errno, $errstr, $errfile, $errline)
{
        // if the error has been suppressed by the @ we don't handle the error
        if( error_reporting() == 0 )
        {
                return;
        }

        $backtrace = '';
        $bt = @debug_backtrace();
        if($bt !== null && isset($bt[0]))
        {
                //array_shift($bt);
                foreach($bt as $i => $debug)
                {
                        $args = isset($debug['args']) ? var_export($debug['args'], true) : '';
                        $args = preg_replace(
                                array("/\n/", "/\r/", '/ +/', '/, *\)/', '/\( +/', '/^array \(0 => /', '/\)$/'),
                                array('', '', ' ', ')', '(', '', ''),
                                $args
                        );


Grüße


#4

Hey ich muss mich nochmals kurz melden! Noch keiner eine Idee? Jede Funktion einzeln zu erlauben, dann Apache neustarten ist wirklich recht zeitaufwendig. Ich dachte das geht schneller …


(Thomas Seifert) #5

Du kannst natürlich auch für jede Funktion ein “grep” über die Piwik-Dateien machen (also sie nach der Funktion durchsuchen). Auswendig weiß hier sicher keiner welche Funktionen alle verwendet werden.


#6

Okay, da habe ich jetzt auf anhieb nichts gefunden. curl_exec wird wohl gebraucht, aber das ist ja auch nicht deaktiviert. Kann sonst vielleicht noch jemand was zur oben geposteten Fehlermeldung sagen??

Gruße


#7

Anybody? :frowning:


(Peterbo) #8

Habe ein Ticket angelegt, liegt an der debug_backtrace Funktion: dev.piwik.org

~Peter