Anzeige:
Ergebnis 1 bis 15 von 15

Thema: PHP - Memory Size Error

  1. #1
    Registrierter Benutzer
    Registriert seit
    Jul 2007
    Beiträge
    31

    PHP - Memory Size Error

    Hey Leute,

    also ich hab bei einem PHP Skript immer folgenden Fehler:

    Code:
    Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 16 bytes) in /var/www/trackmania/includes/objects/rcp_maniafwk.class.php on line 272
    Also hab natürlich schon gegoogelt und alles und hab in der PHP.ini folgendes eingestellt:

    Code:
    max_execution_time = 30     ; Maximum execution time of each script, in seconds
    max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
    memory_limit = 128M      ; Maximum amount of memory a script may consume (16MB)
    Aber der Fehler kommt immernoch obwohl ich das Memory Limit auf 128Mb umgestellt habe.

    Was hab ich falsch gemacht?

    Vielen Dank für Eure Antworten.
    Lg Paddy

  2. #2
    Registrierter Benutzer
    Registriert seit
    Jul 2003
    Ort
    Weilheim
    Beiträge
    132
    Was steht denn hier:

    Code:
    /var/www/trackmania/includes/objects/rcp_maniafwk.class.php on line 272
    Das sollte uns hier weiterhelfen ^^
    Die ersten Worte des Admin Babys?

    "Hello World"

  3. #3
    Registrierter Benutzer
    Registriert seit
    Jul 2007
    Beiträge
    31
    PHP-Code:
    <?php
    /**
    * remoteCP 4
    * ütf-8 release
    *
    * @package remoteCP
    * @author hal.sascha
    * @copyright (c) 2006-2008
    * @version 4.0.2.7
    */
    define('ML_STATIC'   3);
    define('ML_MAXIMIZED'2);
    define('ML_MINIMIZED'1);
    define('ML_CLOSED'   0);

    class 
    rcp_maniafwk
    {
        public  
    $hidden;
        public  
    $windows;
        public  
    $httppath;
        public  
    $time;
        public  
    $colors;
        private 
    $customui;

        public function 
    __construct($httppath$time$colors)
        {
            
    $this->hidden   false;
            
    $this->windows  = array();
            
    $this->colors   $colors;
            
    $this->httppath $httppath;
            
    $this->updateTime();
            
    $this->customui = array(
                
    'notice'            => 'true',
                
    'challenge_info'    => 'true',
                
    'chat'                => 'true',
                
    'checkpoint_list'    => 'true',
                
    'round_scores'        => 'true',
                
    'scoretable'        => 'true',
                
    'global'            => 'true'
            
    );
        }
        
        public function 
    __destruct()
        {
            foreach(
    $this->windows AS $key => $window)
            {
                
    $this->windows[$key]->__destruct();
                
    $this->windows[$key] = NULL;
                unset(
    $this->windows[$key]);
            }
        }

        
    /**
        * Updates framework time
        *
        * @author hal.sascha
        */
        
    public function updateTime()
        {
            
    $this->time time();
        }

        
    /**
        * Returns the xml of the whole framework
        *
        * @author hal.sascha
        */
        
    public function getXml()
        {
            if(
    $this->hidden)
            {
                return 
    false;
            }

            if(empty(
    $this->windows))
            {
                return 
    false;
            }

            
    $this->updateTime();
            
    $body '';
            foreach(
    $this->windows AS $key => $window)
            {
                
    $xml $window->getXml();
                if(
    $xml)
                {
                    
    $body .= $xml;
                }
            }

            if(
    $body) return "<?xml version='1.0' encoding='utf-8' ?><manialinks>".$this->parseColors($body).$this->getCustomUi()."</manialinks>";
            return 
    false;
        }

        
    /**
        * Adds a new Window to the framework
        *
        * This method will return a window-object if successfull
        * @param string $name
        * @param string $title
        * @param int $posx
        * @param int $posy
        * @param int $width
        * @author hal.sascha
        */
        
    public function addWindow($name$title$posx$posy$width)
        {
            if(!
    array_key_exists($name$this->windows))
            {
                
    $this->windows[$name] = new rcp_maniawindow($thiscount($this->windows)+1$name$title$posx$posy$width);
                return 
    $this->getWindow($name);
            }
            return 
    false;
        }

        
    /**
        * Returns a window-object for the specified windowname
        *
        * @param string $name
        * @author hal.sascha
        */
        
    public function getWindow($name)
        {
            if(
    array_key_exists($name$this->windows))
            {
                if(
    is_object($this->windows[$name]))
                {
                    return 
    $this->windows[$name];
                }
            }
            return 
    false;
        }

        
    /**
        * Gets an array of callbacks if the submitted action was available
        *
        * @param int $action
        * @author hal.sascha
        */
        
    public function getAction($action)
        {
            if(empty(
    $this->windows))
            {
                return 
    false;
            }

            foreach(
    $this->windows AS $key => $window)
            {
                
    $result $window->getAction($action);
                if(
    $result)
                {
                    
    $window->Close(true);
                    return 
    $result;
                }
            }
            return 
    false;
        }

        
    /**
        * Closes all windows respecting it's closestatus
        *
        * If $id is specified the window with this id will be remain as open
        * @param int $id
        * @author hal.sascha
        */
        
    public function closeWindows($id)
        {
            if(!empty(
    $this->windows))
            {
                foreach(
    $this->windows AS $key => $window)
                {
                    if(
    $window->id != $id && $window->status == ML_MAXIMIZED)
                    {
                        
    $window->Close();
                    }
                }
            }
        }
        
        
    /**
        * Changes the status of the tm custom_ui
        *
        * @param string $element
        * @param boolean $value
        */
        
    public function setCustomUi($element$value true)
        {
            if(!
    array_key_exists($element$this->customui)) return false;
            
    $this->customui[$element] = $value 'true' 'false';
            return 
    true;
        }

        
    /**
        * Returns xml for the tm custom_ui
        *
        */
        
    public function getCustomUi()
        {
            return 
    "<custom_ui>
                        <notice visible='
    {$this->customui['notice']}'/>
                        <challenge_info visible='
    {$this->customui['challenge_info']}'/>
                        <chat visible='
    {$this->customui['chat']}'/>
                        <checkpoint_list visible='
    {$this->customui['checkpoint_list']}'/>
                        <round_scores visible='
    {$this->customui['round_scores']}'/>
                        <scoretable visible='
    {$this->customui['scoretable']}'/>
                        <global visible='
    {$this->customui['global']}'/>
                    </custom_ui>"
    ;
        }

        
    /**
        * Parses all framework related colors
        *
        * @param string $string
        * @author hal.sascha
        */
        
    private function parseColors($string)
        {
            
    $string str_replace('!df!', (string) $this->colors->chat->default$string);
            
    $string str_replace('!hl!', (string) $this->colors->chat->highlight$string);
            
    $string str_replace('!si!', (string) $this->colors->chat->subitem$string);
            
    $string str_replace('!fhl!', (string) $this->colors->ml->fonts->highlight$string);
            
    $string str_replace('!fsi!', (string) $this->colors->ml->fonts->subitem$string);
            return 
    $string;
        }
    }

    class 
    rcp_maniawindow
    {
        private 
    $base;
        public  
    $id;
        public  
    $name;
        public  
    $status;
        private 
    $title;
        private 
    $posx;
        private 
    $posy;
        private 
    $width;
        private 
    $margin;
        private 
    $actions;
        private 
    $header;
        private 
    $bg;
        private 
    $static;
        private 
    $close;
        private 
    $timeout;
        private 
    $timeoutt;
        private 
    $options;
        private 
    $icon;
        private 
    $rendered;
        private 
    $lheight;
        private 
    $frames;
        private 
    $cframe;
        private 
    $cline;
        private 
    $styleregions;

        public function 
    __construct(&$base$id$name$title$posx$posy$width)
        {
            
    $this->base            =& $base;
            
    $this->id            $id;
            
    $this->name            $name;
            
    $this->title        $title;
            
    $this->posx            $posx;
            
    $this->posy            $posy;
            
    $this->width        $width;
            
    $this->margin        0.5;
            
    $this->frames        NULL;
            
    $this->cframe        0;
            
    $this->cline        0;
            
    $this->styleregions    = array(
                
    'label'        => array('halign''valign''textid''url''autonewline''textcolor''textsize'),
                
    'quad'        => array('bgcolor''image''imagefocus''style''substyle''url''manialink''maniazone''addplayerid'),
                
    'entry'        => array('textsize''halign''valign''name''default'),
                
    'fileentry'    => array('textsize''halign''valign''name''default'),
                
    'audio'        => array('data''play''looping'),
                
    'music'        => array('data'),
                
    'include'    => array('url')
            );

            
    // Default options
            
    $this->status        ML_CLOSED;
            
    $this->icon            'Forever';
            
    $this->actions        = array();
            
    $this->header        true;
            
    $this->bg            'main';
            
    $this->static        false;
            
    $this->close        true;
            
    $this->timeout        false;
            
    $this->timeoutt        false;
            
    $this->rendered        true;
            
    $this->options        = array('icon''title''timeout''static''close''header''bg''width''posx''posy''lineheight');
            
    $this->lheight        0;
            
    $this->lineheight    3;
        }

        public function 
    __destruct()
        {
            
    $this->base NULL;
            unset(
    $this->base);
        }

        
    /**
        * Changes the specified window option to a new value
        *
        * It's not possible to add new window options with this function
        * @param string $option
        * @param mixed $value
        * @author hal.sascha
        */
        
    public function setOption($option$value)
        {
            if(
    in_array($option$this->options) && isset($this->{$option}))
            {
                
    $this->{$option} = $value;
                return 
    true;
            }
            return 
    false;
        }

        
    /**
        * Refreshes the window
        *
        * @author hal.sascha
        */
        
    public function Refresh()
        {
            
    //mark as "has to be rendered" oO
            
    $this->rendered false;

            
    //window is static (possibly with timeout) or maximized
            
    if($this->static || $this->timeout)
            {
                
    $this->setStatus(ML_STATIC);
            }
            else
            {
                
    $this->setStatus(ML_MAXIMIZED);
            }

            
    //Timeout time
            
    $this->timeoutt $this->timeout $this->base->time $this->timeout false;

            
    //Close other window(s)
            
    if($this->status == ML_MAXIMIZED)
            {
                
    $this->base->closeWindows($this->id);
            }
        }

        
    /**
        * Resets and refreshes the window
        *
        * @author hal.sascha
        */
        
    public function Reset()
        {
            
    $this->xml    '';
            
    $this->frames NULL;
            
    $this->frames = array();
            
    $this->cframe 0;
            
    $this->cline  0;
            
    $this->Refresh();
        }

        
    /**
        * Sets the status of the window
        *
        * @author hal.sascha
        */
        
    private function setStatus($status)
        {
            
    $this->status $status;
        }

        
    /**
        * Checks the window for timeout
        *
        * @author hal.sascha
        */
        
    private function getTimeout()
        {
            if(!
    $this->timeout || !$this->timeoutt) return false;
            return (
    $this->timeoutt $this->base->time) ? true false;
        }

        
    /**
        * Returns an array of actions or executes the default closeaction
        *
        * @author hal.sascha
        */
        
    public function getAction($action)
        {
            if(
    array_key_exists($action$this->actions))
            {
                if(
    $this->actions[$action]['call'] == 'on'.$this->name.'Close')
                {
                    return 
    $this->Close();
                }
                else
                {
                    return 
    $this->actions[$action];
                }
            }
            return 
    false;
        }

        
    /**
        * Creates a new unique actionid
        *
        * @author hal.sascha
        */
        
    private function createActionId()
        {
            return 
    $this->id.count($this->actions);
        }

        
    /**
        * Flags the window as closed
        *
        * This window will respect the close-option.
        * @param boolean $behavior
        * @author hal.sascha
        */
        
    public function Close($behavior false)
        {
            if(
    $behavior && $this->close || !$behavior)
            {
                
    $this->timeoutt false;
                
    $this->rendered false;
                
    $this->setStatus(ML_MINIMIZED);
                return 
    true;
            }
            return 
    false;
        }

        
    /**
        * Returns the xml for this window
        *
        * @author hal.sascha
        */
        
    public function getXml()
        {
            if(
    $this->rendered)
            {
                if(
    $this->getTimeout())
                {
                    
    $this->Close();
                }
                else
                {
                    return 
    false;
                }
            }

            if(
    $this->status == ML_CLOSED)
            {
                return 
    false;
            }
            elseif(
    $this->status == ML_MINIMIZED)
            {
                
    $this->setStatus(ML_CLOSED);
                
    $this->rendered true;
                return 
    "<manialink id='{$this->id}'></manialink>";
            }

            
    //Send predefined xml
            
    if($this->xml)
            {
                
    $this->rendered true;
                return 
    $this->xml;
            }

            
    //Send generated xml
            
    if(empty($this->frames))
            {
                
    $this->Close();
                return 
    false;
            }

            
    $this->xml  "<manialink id='{$this->id}'><type>default</type>";
            
    $this->xml .= "<frame posn='{$this->posx} {$this->posy} 0'><format"$this->applyStyles('format') ." />";
            
    $this->xml .= $this->getHeader();
            
    $this->xml .= $this->getFrames();
            
    $this->xml .= $this->getBg();
            
    $this->xml .= "</frame>";
            
    $this->xml .= "</manialink>";

            
    //Parse actions
            
    $this->actions = array();
            
    $matches = array();
            
    preg_match_all('!\{ca:(.[^\}]*),pl:(.[^\}]*),pa:(.[^\}]*)\}!is'$this->xml$matchesPREG_SET_ORDER);

            foreach(
    $matches as $match)
            {
                
    $id $this->createActionId();
                
    $params explode('|-|'$match[3]);
                
    $this->actions[$id] = array(
                    
    'call'    => ($match[2]) ? array($match[1], $match[2]) : $match[1],
                    
    'param'    => (count($params) < 2) ? $params[0] : $params
                
    );
                
    $this->xml str_replace('{ca:'.$match[1].',pl:'.$match[2].',pa:'.$match[3].'}'$id$this->xml);
            }

            
    $this->rendered true;
            return 
    $this->xml;
        }

        
    /**
        * Returns the background-xml for this window if bg-option available
        *
        * @author hal.sascha
        */
        
    private function getBg()
        {
            if(!
    $this->bg) return '';
            return 
    "<frame posn='0 0 0'><quad posn='-{$this->margin} 0 0' sizen='". ($this->width + ($this->margin*2)) ." ". (abs($this->lheight)+$this->margin) ."'"$this->applyStyles($this->bg'quad') ." /></frame>";
        }

        
    /**
        * Returns the header-xml for this window if header-option available
        *
        * @author hal.sascha
        */
        
    private function getHeader()
        {
            if(!
    $this->header) return '';
            
    $xml  "<frame posn='0 0 9'>";
            
    $xml .= "<quad posn='-{$this->margin} 0 0' sizen='". ($this->width + ($this->margin*2)) ." 3'"$this->applyStyles('header''quad') ." />";
            
    $xml .= "<quad posn='-0.25 -0.3 1' sizen='2.5 2.5' style='Icons128x128_1' substyle='{$this->icon}' action='{ca:on{$this->name}Close,pl:0,pa:0}' />";
            
    $xml .= "<quad posn='". ($this->width-2) ." -0.4 1' sizen='2 2' style='Icons64x64_1' substyle='Close' action='{ca:on{$this->name}Close,pl:0,pa:0}' />";
            
    $xml .= "<label posn='2.5 -1.25 1' sizen='{$this->width} 0' text='{$this->title}'"$this->applyStyles('header') ." />";
            
    $xml .= "</frame>";
            return 
    $xml;
        }

        
    /**
        * Opens a new frame
        *
        * @param string $name
        */
        
    public function Frame($posx false$posy false$width false$styles false$mla false)
        {
            
    $this->cframe count($this->frames) + 1;
            
    $this->frames[$this->cframe] = array(
                
    'posx'        => ($posx)    ? $posx        0,
                
    'posy'        => ($posy)    ? $posy        0,
                
    'width'        => ($width)    ? $width    $this->width,
                
    'lines'        => array(),
                
    'styles'    => $styles,
                
    'action'    => $this->getActionAttribute($mla)
            );
        }

        
    /**
        * Adds a new line to the window
        *
        * @param array $line
        * @author hal.sascha
        */
        
    public function Line($styles false$mla false)
        {
            
    //Check if at least default frame is available, else create it
            
    if(!$this->cframe$this->Frame();

            
    $this->cline count($this->frames[$this->cframe]['lines']) + 1;
            
    $this->frames[$this->cframe]['lines'][$this->cline] = array(
                
    'cells'        => array(),
                
    'customxml'    => false,
                
    'styles'    => $styles,
                
    'action'    => $this->getActionAttribute($mla)
            );
        }

        
    /**
        * Adds a new cell to a line
        *
        * Cell($text, $width/$height[as array if height specified], $action/$param[as array if param specified], $attributes[as array]);
        * @param array $cell
        * @author hal.sascha
        */
        
    public function Cell($text$size$mla false$attributes false)
        {
            
    $this->frames[$this->cframe]['lines'][$this->cline]['cells'][] = array(
                
    'text'            => specialchars($text),
                
    'size'            => $size,
                
    'action'        => $this->getActionAttribute($mla),
                
    'attributes'    => $attributes
            
    );
        }

        
    /**
        * Adds custom XML code to the window
        *
        * If height isset, the system will respect the height and each later line will be use the new position offset
        * @param string $xml
        * @param int $height
        * @author hal.sascha
        */
        
    public function CustomXML($xml$height false)
        {
            
    $this->frames[$this->cframe]['lines'][$this->cline]['customxml'] = array($xml$height);
        }

        
    /**
        * Returns the xml for the window frames
        *
        * @author hal.sascha
        */
        
    private function getFrames()
        {
            
    //Get Frames
            
    $fxml '';
            foreach(
    $this->frames AS $keyf => $frame)
            {
                
    $fx $frame['posx'];
                
    $fy $frame['posy'];
                
    $fw $frame['width'];
                
    $fh 0;

                
    //Get Lines
                
    $lxml '';
                
    $lx 0;
                
    $ly $this->header ? -$this->lineheight : -0.5;
                
    $lw $fw;
                
    $lh $this->lineheight;
                foreach(
    $frame['lines'] AS $keyl => $line)
                {
                    
    //Get Cells
                    
    $cxml '';
                    
    $cx 0;
                    
    $cy 0;
                    
    $cw 0;
                    
    $ch 0;
                    
    $hch 0;
                    if(
    is_array($line['customxml']))
                    {
                        
    $cxml    $line['customxml'][0];
                        
    $ch        = ($line['customxml'][1] !== false) ? $line['customxml'][1] : 0;
                    }

                    foreach(
    $line['cells'] AS $keyc => $cell)
                    {
                        
    //Calc size
                        
    if(is_array($cell['size']))
                        {
                            
    $cw = !empty($cell['size'][0])    ? $lw/100*$cell['size'][0]    : 0;
                            
    $ch = !empty($cell['size'][1])    ? $cell['size'][1]            : $lh;
                        }
                        else
                        {
                            
    $cw = !empty($cell['size'])        ? $lw/100*$cell['size']    : 0;
                            
    $ch $lh;
                        }
                        
    $ch = ($hch $ch) ? $ch $hch;

                        
    //Set Defaults
                        
    $cell['attributes']['valign'] = !empty($cell['attributes']['valign']) ? $cell['attributes']['valign'] : 'center';

                        
    //Create quad attributes
                        
    $attributes $this->applyStyles(true'quad'$cell['attributes']);
                        if(
    $attributes || !empty($cell['action']))
                        {
                            
    $cxml .= "<quad posn='{$cx} 0 1' sizen='{$cw} {$ch}'{$cell['action']}"implode(''$attributes) ." />";
                        }

                        
    //Element attributes
                        
    switch($cell['attributes']['tagtype'])
                        {
                            default:
                                if(!empty(
    $cell['text']))
                                {
                                    
    $attributes     $this->applyStyles(true'label'$cell['attributes']);
                                    
    $nx             $this->getPosX($cx$cw$cell['attributes']['halign']);
                                    
    $ny             $this->getPosY(0$ch$cell['attributes']['valign']);
                                    
    $cxml        .= "<label posn='{$nx} {$ny} 1' sizen='{$cw} {$ch}' text=' {$cell['text']} '"implode(''$attributes) ." />";
                                }
                            break;

                            case 
    'entry':
                                
    $attributes     $this->applyStyles(true'entry'$cell['attributes']);
                                
    $nx             $this->getPosX($cx$cw$cell['attributes']['halign']);
                                
    $ny             $this->getPosY(0$ch0);
                                
    $cxml        .= "<entry posn='{$nx} {$ny} 1' sizen='{$cw} {$ch}'"implode(''$attributes) ." />";
                            break;

                            case 
    'fileentry':
                                
    $attributes     $this->applyStyles(true'fileentry'$cell['attributes']);
                                
    $nx             $this->getPosX($cx$c$cell['attributes']['halign']);
                                
    $ny             $this->getPosY(0$ch0);
                                
    $cxml        .= "<fileentry posn='{$nx} {$ny} 1' sizen='{$cw} {$ch}'"implode(''$attributes) ." />";
                            break;

                            case 
    'audio':
                                
    $attributes     $this->applyStyles(true'audio'$cell['attributes']);
                                
    $ny             $this->getPosY(0$ch'center');
                                
    $cxml        .= "<audio posn='{$cx} {$ny} 1' sizen='{$cw} {$ch}'"implode(''$attributes) ." />";
                            break;

                            case 
    'music':
                                
    $attributes     $this->applyStyles(true'music'$cell['attributes']);
                                
    $cxml        .= "<music"implode(''$attributes) ." />";
                            break;

                            case 
    'include':
                                
    $attributes     $this->applyStyles(true'include'$cell['attributes']);
                                
    $cxml        .= "<include"implode(''$attributes) ." />";
                            break;
                        }

                        
    //Next cell position
                        
    $cx  $cx $cw;
                        
    $hch $ch;
                    }

                    
    //Cells XML generated
                    //Generate Line XML
                    
    $lh $hch;
                    if(
    is_array($line['styles']) || !empty($line['action']))
                    {
                        
    $attributes     $this->applyStyles(true'quad'$line['styles']);
                        
    $cxml        .= "<quad posn='0 0 0' sizen='{$lw} {$lh}'{$line['action']}"implode(''$attributes) ." />";
                    }
                    
    $lxml .= "<frame posn='0 {$ly} 1'>{$cxml}</frame>";
                    
    //Next line position
                    
    $ly $ly $lh;
                }

                
    //Lines XML generated
                //Generate Frame XML
                
    $fh abs($ly-$this->margin);
                
    $this->lheight $ly;
                if(
    is_array($frame['styles']) || !empty($frame['action']))
                {
                    
    $attributes     $this->applyStyles(true'quad'$frame['styles']);
                    
    $lxml        .= "<quad posn='0 0 0' sizen='{$fw} {$fh}'{$frame['action']}"implode(''$attributes) ." />";
                }
                
    $fxml .= "<frame posn='{$fx} {$fy} 1'>{$lxml}</frame>";
            }

            
    //Frames XML generated
            //Return Frames XML
            
    return $fxml;
        }

        
    /**
        * Returns a parsable action attribute string
        *
        * @param mixed $mla
        * @author hal.sascha
        */
        
    private function getActionAttribute($mla)
        {
            
    //Check if action has params
            
    if(is_array($mla))
            {
                if(
    is_array($mla[0]))
                {
                    
    $action $mla[0][0];
                    
    $plugin $mla[0][1];
                }
                else
                {
                    
    $action $mla[0];
                    
    $plugin 0;
                }
                
    $params is_array($mla[1])? implode('|-|'$mla[1]) : $mla[1];
            }
            else
            {
                
    $action $mla;
                
    $plugin 0;
                
    $params 0;
            }
            
    $params = empty($params) ? $params;
            return !empty(
    $action) ? " action='{ca:{$action},pl:{$plugin},pa:{$params}}'" '';
        }

        
    /**
        * Returns the x position for a label respecting it's align
        *
        * @param int $posx
        * @param int $width
        * @param string $align
        * @author hal.sascha
        */
        
    private function getPosX($posx$width$align)
        {
            if(!empty(
    $align))
            {
                if(
    $align == 'center')
                {
                    return 
    $posx + ($width 2);
                }
                elseif(
    $align == 'right')
                {
                    return 
    $posx $width;
                }
            }
            return 
    $posx;
        }

        
    /**
        * Returns the y position for a label respecting it's align
        *
        * @param int $posy
        * @param int $height
        * @param string $align
        * @author hal.sascha
        */
        
    private function getPosY($posy$height$align$offset 0.20)
        {
            if(!empty(
    $align))
            {
                if(
    $align == 'center')
                {
                    return 
    $posy - ($height 2) + $offset;
                }
                elseif(
    $align == 'bottom')
                {
                    return 
    $posy $height $offset;
                }
            }
            return 
    $posy;
        }

        
    /**
        * Returns a style definition from live.xml setting file
        *
        * @param string $name
        * @author hal.sascha
        */
        
    private function applyStyles($name$region 'label', &$attributes false)
        {
            
    $return = array();

            if(
    is_string($name))
            {
                
    //applies all styles from a styleset
                
    if(array_key_exists($region$this->styleregions))
                {
                    foreach(
    $this->styleregions[$region] AS $attribute)
                    {
                        
    $value $this->getStyle($name$attribute);
                        if(
    $value)
                        {
                            
    $return[$attribute] = {$attribute}='{$value}'";
                            
    $attributes[$attribute] = $value;
                        }
                    }
                }
                return 
    implode(''$return);
            }
            else
            {
                
    //applies all styles from a styleset + the delivered external styles and overwrite the class
                
    if(is_array($attributes) && array_key_exists($region$this->styleregions))
                {
                    foreach(
    $this->styleregions[$region] AS $attribute)
                    {
                        if(
    array_key_exists($attribute$attributes))
                        {
                            
    $return[$attribute] = {$attribute}='{$attributes[$attribute]}'";
                            continue; 
    //jumps over class check, it's like overwriting the class value
                        
    }
                        if(!empty(
    $attributes['class']))
                        {
                            
    $value $this->getStyle($attributes['class'], $attribute);
                            if(
    $value)
                            {
                                
    $return[$attribute] = {$attribute}='{$value}'";
                                
    $attributes[$attribute] = $value;
                            }
                        }
                    }
                }
                return 
    $return;
            }
        }

        
    /**
        * Returns a style string by class and attribute
        *
        * @param string $name
        * @param string $attribute
        * @author hal.sascha
        */
        
    private function getStyle($name$attribute)
        {
            return isset(
    $this->base->colors->ml->styles->{$name}[$attribute]) ? (string) $this->base->colors->ml->styles->{$name}[$attribute] : false;
        }
    }
    ?>
    Das steht da drin, bei Zeile 272 ist nur nen Array.

    Mfg Paddy

  4. #4
    Roger Wilco
    Gast
    Zitat Zitat von Paddyb007 Beitrag anzeigen
    Aber der Fehler kommt immernoch obwohl ich das Memory Limit auf 128Mb umgestellt habe.
    Das Memory Limit pro Skript beträgt laut der Fehlermeldung 16 MB, nicht die in deiner php.ini aufgeführten 128 MB. Du hast entweder die falsche php.ini bearbeitet oder die Einstellung wird an anderer Stelle überschrieben.

  5. #5
    junkie Avatar von Jigsore
    Registriert seit
    May 2004
    Ort
    bei Heilbronn
    Beiträge
    1.031
    Bei mod_php Webserver neugestartet?

    Ansonsten schau Dir die Info aus phpinfo(); an wo die php.ini liegt.

  6. #6
    Registrierter Benutzer
    Registriert seit
    Jul 2007
    Beiträge
    31
    Hey,

    also die PHP.ini liegt in:

    Code:
    /etc/php5/apache2/php.ini
    Und die hab ich auch bearbeitet. Dann hab ich Apache2 neugestartet.

    Wo soll das denn an anderer Stelle überschrieben werden?

    Vielen Dank
    Lg Paddy

    Edit: Bei phpinfo() steht folgendes:

    Code:
     memory_limit	 128M 	128M
    Geändert von Paddyb007 (24.12.08 um 19:58 Uhr)

  7. #7
    Registrierter Benutzer
    Registriert seit
    Jul 2007
    Beiträge
    31
    So Leute,

    also mein Skript ist mir wieder abgeschmiert mit dem Fehler:

    Code:
    Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 16 bytes) in /var/www/trackmania/includes/objects/rcp_sql.class.php on line 135
    Hab jetzt echt in jeder php.ini die ich finden konnte, 128M eingestellt.

    Was soll ich denn noch machen?

    Vielen Dank

  8. #8
    junkie Avatar von Jigsore
    Registriert seit
    May 2004
    Ort
    bei Heilbronn
    Beiträge
    1.031
    Bei welcher Aktion/In welcher Situation tritt der Fehler auf?

  9. #9
    Registrierter Benutzer
    Registriert seit
    Jul 2007
    Beiträge
    31
    Also das Skript, das sind Stats für einen Trackmania Server, und immer wenn so 40 Leute drauf sind kommt der Error.

    Mfg Paddy

  10. #10
    Roger Wilco
    Gast
    Zitat Zitat von Paddyb007 Beitrag anzeigen
    Hab jetzt echt in jeder php.ini die ich finden konnte, 128M eingestellt.
    In der Apache httpd-Konfiguration auch - sofern du mod_php verwendest?

  11. #11
    Registrierter Benutzer
    Registriert seit
    Jul 2007
    Beiträge
    31
    In welcher Config muss ich das dann verändern? Und vorallem was?

    In meiner httpd.conf steht nichts drin.

    Mfg Paddy

  12. #12
    Roger Wilco
    Gast
    Zitat Zitat von Paddyb007 Beitrag anzeigen
    In welcher Config muss ich das dann verändern?
    In der/den Konfigurationsdatei(en) deines Webservers. Welche das genau sind, musst du wissen - es ist dein System.

    Du könntest ja einfach mal nach den typischen mod_php-Direktiven (php_value, php_admin_value) suchen. Nur so ein Gedanke...

  13. #13
    Registrierter Benutzer
    Registriert seit
    Jul 2007
    Beiträge
    31
    Also ich weiß jetzt nicht ganz welche Config du meinst? Meinst du die /etc/apache2/apache2.conf oder meinst du /etc/apache2/sites-enabled/000-default ?

    Lg Paddy

  14. #14
    Roger Wilco
    Gast
    Ich meine alle.

  15. #15
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.062
    und je nach Konfig des Apache/php kann es auch AFAIK eine .htaccess-Datei sein :-)
    Ich bin root - ich darf das.

Ähnliche Themen

  1. X-Fi Treiber installation unter Suse 10.3
    Von DevilX im Forum Musik
    Antworten: 11
    Letzter Beitrag: 22.10.07, 22:00
  2. DVD wird nicht gemountet
    Von Daresch im Forum Mobiles Linux, Notebook, PDA
    Antworten: 27
    Letzter Beitrag: 09.05.07, 21:00
  3. HDD Check ausschalte
    Von Der_Umsteiger im Forum stationäre Hardware
    Antworten: 24
    Letzter Beitrag: 21.08.06, 23:49
  4. Tom Tec MP3 Player und SuSE 9.2 Prof.Linux
    Von bloodeyes im Forum Musik
    Antworten: 2
    Letzter Beitrag: 11.06.05, 15:57
  5. transpatentes Eterm auf Fluxbox
    Von x86-64 im Forum Windowmanager
    Antworten: 5
    Letzter Beitrag: 08.06.04, 06:41

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •