Re: [PHP] How php works?
by Kai Xiang other posts by this author
Dec 13 2006 5:26PM messages near this date
Re: [PHP] How php works?
|
Re: [PHP] Retransmiting post variables
Thanks Jochem, Roman :)
On 12/13/06, Jochem Maas <jochem@[...].com> wrote:
>
> Kai Xiang wrote:
> > On 12/13/06, Roman Neuhauser <neuhauser@[...].cz> wrote:
> >
> >> # maillist.kai@[...].com / 2006-12-13 14:15:26 +0800:
> >> > I'm new here and looking PHP these days, howerver , I'm confused by
> how
> >> it
> >> > works, and here is some questions I have.
> >> > Is there any old bird wanna help me out?
> >> >
> >> > 1. I heard there is a zend engine inside PHP playing the role as a
> >> virtual
> >> > machine, and PHP excution have 2 step, first compile to opcode and
> then
> >> > excute the opcode,
> >> > so is that means the php are compiled only once per file? or still
> need
> >> to
> >> > recompile when another request issued to the server? also I heard
> about
> >> the
> >> > caching extention about php, is it talking about caching the opcode?
> >> is't
> >> > caching the opcode or excute results? how it shares between the
> >> requests?
> >>
> >> Both kinds of things exist, with different sharing strategies.
> >
> >
> > Can you tell it more detail, opcode caching cache the compiled opcode,
> so
> > not any compile needed anymore if no source changed? what about results,
> > what kind of methdology it's taking?
>
> you can get a good idea of APC from the changelog:
>
> http://pecl.php.net/package-changelog.php?package=APC
>
> Zend als offers opcode caching as part of their suite of products ... Im
> not all to familiar with Zend's stuff but no doubt their website has
> plenty
> of info.
>
> >
> >
> >
> >> > 3. Take linux apache for example, if compiled as a apache module, and
> >> using
> >> > prefork threading model, for example, if I have 100 process, is that
> >> means I
> >> > have 100 copy of PHP library local data(I assume only one reentrant
> >> > excutable image) in each process? compare to a worker model, like 10
> >> process
> >> > and 10 threads in each one process, should it make a difference that
> we
> >> only
> >> > have 10 copy of PHP library local data ?
> >>
> >> Practical concerns make your question moot: even if the basic
> >> distribution was all threadsafe, you're bound to hit a library that
> uses
> >> strtok(3) or strerror(3), or static variables. How much of the code you
> >> rely on is labelled by its authors as threadsafe?
> >
> >
> > So it is not a good idea to use worker and php module at the same time,
> but
>
> correct - stick with the prefork module with apache, I believe *think* it
> is possible
> to safely use a threaded module if you decide to go the FastCGI route but
> I maybe
> thinking this because I completely misunderstood what someone was saying
> about FastCGI
> (I remember reading quite abit about FastCGI in posts made to
> internals@[...].net
> by core-dev/Zend-Founder Andi Gutmans - although I can't say I understood
> everything I read!)
>
> > if no threadsafe problem , maybe my thinking is right?
> > Btw, I thought strerror in libc were thread-safe.
> >
> >
>
>
Thread:
Kai Xiang
Tedd
Kai Xiang
Jochem Maas
Kai Xiang
Roman Neuhauser
Kai Xiang
Roman Neuhauser
Jochem Maas
Kai Xiang
|