I suspect that this is where my error is.  But I have added another fprintf
to the mod_php4.c file that prints a message when entering the
php_init_handler function and when it exits.  The php_init_handler function
is registered as the module_init callback which I believe is what Apache
calls when initializing the module.


Amazingly, it prints this: (I added the parentheses below to identify the
src file)

mod_php4.c: php_init_handler: starting to run
(zend_ini_scanner.l) lex returning 'startofphpini'
(zend_ini_scanner.l) lex returning 'hereami'
(zend_ini_parser.y) 'startofphpini' = 'hereami'
(zend_ini_scanner.l) lex returning 'engine'
(zend_ini_parser.y) 'engine' = '1'
(zend_ini_scanner.l) lex returning 'short_open_tag'
(zend_ini_parser.y) 'short_open_tag' = '1'
(zend_ini_scanner.l) lex returning 'asp_tags'
(zend_ini_parser.y) 'asp_tags' = ''
.. snipped ..

mod_php4.c: php_init_handler: all completed
mod_php4.c: php_init_handler: all completed
Apache/1.3.23 (Win32) PHP/4.3.0-dev running...
(zend_ini_parser.y) 'startofphpini' = 'hereami'
(zend_ini_parser.y) 'engine' = '1'
(zend_ini_parser.y) 'short_open_tag' = '1'
(zend_ini_parser.y) 'asp_tags' = ''
.. snipped ..


At the initial step, it is clear that the ini parser is called by
php_init_handler.  But why is the same "php_ini_handler: starting to run"
not printed the second time?  And, why does the parser no longer call the
lexer?

I am sure that you are correct, Rasmus, and apache is calling it twice, but
what I don't understand is, why are the messages not identical?

dave

-----Original Message-----
From: Rasmus Lerdorf [mailto:[EMAIL PROTECTED]]
Sent: Thursday, September 19, 2002 5:21 PM
To: David Viner
Cc: Php-Dev@lists. php. net
Subject: RE: [PHP-DEV] ini question


Apache calls the module startup hook twice.

On Thu, 19 Sep 2002, David Viner wrote:

> After some further tweaking and fprintf-ing, it appears that the second
> round of parser print-outs somehow do not rely upon the lexer in
> zend_ini_scanner.l.  So I am completely unsure of what is going on.
>
> Is there any documentation that I should read to help me understand this?
> (I own and have examined the OReilly Writing Apache Modules book (in case
> this was the child processes each parsing the ini file on their own) but
to
> no avail.)  Is there Zend documentation of the startup process?
>
> dave
>
>
> -----Original Message-----
> From: David Viner [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, September 18, 2002 3:45 PM
> To: Php-Dev@lists. php. net
> Subject: [PHP-DEV] ini question
>
>
> Hi,
>       I turned on DEBUG_CFG_PARSER in Zend/zend_ini_parser.y which has the
parser
> spit out each key-value pair it discovers.  I noticed when I start my
> Apache, it actually spits everything out twice.  The first time I know
comes
> from php_module_startup (called from php_apache_startup which is the init
> handler in sapi/apache/mod_php4.c).  What causes the parser to spit out
all
> the key-value pairs the second time?
>
>
> dave
>
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, visit: http://www.php.net/unsub.php
>


--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to