Emiliano wrote:

> > I have installed the .deb packages with the latest data from the CVS,
> > and now asgard successfully worked. Then I have received the response
> > that I should try the php4 dir from the CVS, removed the packages and
> > tried again to put the CVS version up. Here is the result:
> >
> > Fatal error: Call to undefined function: mgd_eval() in
> > /usr/lib/apache/1.3/midgard-root.php on line 18
>
> See the INSTALL file in the midgard-php4 directory:
>
>    *NOTE* midgard-php4 now builds for mod_midgard-preparser by default.
>    Add --with-old-mod-midgard in mkall (you'll find it in the comment) if
>    you want to use the 1.4.2 mod_midgard. The non-preparsing mod is going
>    to be phased out in the non-distant future.

One additional comment: mgd_eval is indeed gone in MMP and I have no plans to
bring it back until I see a real need for it. mgd_eval() is replaced by
eval(mgd_preparse()); the previous preparsing did too much work inside
PHP scripts (such as detecting every eval call and replacing it with
mgd_eval). Changing stuff inside the PHP script is a little too tricky
for my tastes. That, and mgd_eval was totally written in C; the replacement is
just as fast and makes full use of the Zend eval.

We still have stuff in the preparser that changes stuff
in PHP scripts, like mgd_include_snippet, which we could also eliminate
if PHP would support something akin to #defines (not const decls), but
I've been told that's rather unlikely to ever happen. Even if mgd_eval
does make a reappearance[0] the preparser will not be replacing all evals
with mgd_eval. This particular replacement was tricky anyhow, and I see
no reason to burden _every_ eval in a Midgard request with the
performance and memory overhead of preparsing.

Emile



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to