[php] unset gaat fout

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Ik ben een beetje vreemde fout tegen gekomen bij het maken van een eigen template parser class. Het gaat eigenlijk om een regeltje waarop de pagina vastloopt. Nu zul je denken, tjsa, als er iets fout gaat krijg je altijd een redelijk nader omschreven error, en is het debuggen niet zon probleem. Het probleem nu is dat ik helemaal geen error krijg. De pagina wordt gewoon simpel weg niet weergegeven door een "Deze pagina kan niet worden weergegeven" pagina weer te geven, of de pagina laad eeuwig. Ik heb gevonden in welke functie de fout zat en daarin ook welke regel. Opgelost zul je denken, niet dus. dit is de functie

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function removeblock($block="")
    {
        if ( $block == "" )
        {
            $block = $this->_defaultblock;
        }
        
        if ( !isset($this->_block[$block]) )
        {
            $this->_error("Block <b>" . $block . "</b> does not exist.");
        }
        else
        {
            unset($this->_block[$block]); # bij de regel gaat het dus fout #
            unset($this->_blockcopy[$block]);
            
            if ( isset($this->_savedblock[$block]) )
            {
                unset($this->_savedblock[$block]);
            }
        }
    }


De regel die ik aangegeven heb is waar het fout gaat. Als ik hem comment gaat het goed en als ik hem zo laat gaat het fout. _block is gewoon een member van de class, is een array en bevat volgens de controle gewoon key $block.

Ik ben niet echt een ster in Apache ik zou niet weten wat ik er mee aan moet maar hier is de error in de log van Apache
[Thu Jul 03 11:09:44 2003] [notice] Parent: child process exited with status 128 -- Restarting.
[Thu Jul 03 11:09:44 2003] [notice] Parent: Created child process 1400
[Thu Jul 03 11:09:45 2003] [notice] Child 1400: Child process is running
[Thu Jul 03 11:09:45 2003] [notice] Child 1400: Acquired the start mutex.
[Thu Jul 03 11:09:45 2003] [notice] Child 1400: Starting 250 worker threads.
Ik weet het niet meer. Iemand een idee?

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Lijkt me dat je dat es moet rapporteren bij bugs.php.net :)

En als workaround kan je dit proberen:
$this->_block[$block] = null;

Wat zit er trouwens in _blockcopy dat die wel goed gaat?

En als je ze omdraait gaat dan nog steeds de _block fout?

[ Voor 32% gewijzigd door ACM op 03-07-2003 11:30 ]


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
_blockcopy is een exacte copy van _block. _block wordt steeds aangepast en wordt toegevoegt aan _savedblock waarna _blockcopy weer aan _block wordt toegekent etc.

Als ik ze omdraai heb ik nog steeds exact hetzelfde probleem. Kan ik dit trouwens wel als bug reporten als ik Apache 2.0.45 draai? die is expirimenteel wordt vermeld op de site of is dit alweer anders?

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Dat kan je dan alsnog melden, want juist als het experimenteel is betekend dat dat ze nog op zoek naar bugs zijn ;)

Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Maar thanx voor die workaround, die werkt. :)
Kan ik in ieder geval weer verder. Ff die bug melden :P

Noushka's Magnificent Dream | Unity