Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:61060 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 1047 invoked from network); 30 Jun 2012 23:51:28 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 Jun 2012 23:51:28 -0000 Authentication-Results: pb1.pair.com header.from=johannes@schlueters.de; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=johannes@schlueters.de; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain schlueters.de from 217.114.211.66 cause and error) X-PHP-List-Original-Sender: johannes@schlueters.de X-Host-Fingerprint: 217.114.211.66 config.schlueters.de Received: from [217.114.211.66] ([217.114.211.66:62259] helo=config.schlueters.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 07/76-58870-FF09FEF4 for ; Sat, 30 Jun 2012 19:51:28 -0400 Received: from [192.168.2.230] (ppp-188-174-34-143.dynamic.mnet-online.de [188.174.34.143]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by config.schlueters.de (Postfix) with ESMTPSA id 10AB462239; Sun, 1 Jul 2012 01:51:25 +0200 (CEST) To: Adi Mutu Cc: Felipe Pena , PHP Developers Mailing List In-Reply-To: <1341053605.91639.YahooMailNeo@web43507.mail.sp1.yahoo.com> References: <1338926897.37775.YahooMailNeo@web43502.mail.sp1.yahoo.com> <1339095042.60350.YahooMailNeo@web43512.mail.sp1.yahoo.com> <1339098261.2665.578.camel@guybrush> <1339098824.12078.YahooMailNeo@web43502.mail.sp1.yahoo.com> <1339100302.2665.623.camel@guybrush> <1340995650.24924.YahooMailNeo@web43511.mail.sp1.yahoo.com> <1341005817.2310.19.camel@guybrush> <1341053605.91639.YahooMailNeo@web43507.mail.sp1.yahoo.com> Content-Type: text/plain; charset="UTF-8" Date: Sun, 01 Jul 2012 01:51:24 +0200 Message-ID: <1341100284.2302.36.camel@guybrush> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] concatenation operator From: johannes@schlueters.de (Johannes =?ISO-8859-1?Q?Schl=FCter?=) On Sat, 2012-06-30 at 03:53 -0700, Adi Mutu wrote: > > By initialization i mean the latest point possible where I can set a > breakpoint, but right before my scripts starts executing it's > emalloc's or efree's..... Does "executing" include "compilation"? Does it include creating a stack frame etc. for the "main" routine? ... > > but even then you will see many things you're probably not > interested in > > such as?...... Well, PHP is complex, it does quite a few things in order to run a seemingly small script. > > Only thing that helps is learning the code structure and digging > through it. > > Any hint/documentation to learn that? Use the source. ;-) A bit more seriously: No, there's no good single place to look at, there are different blogs etc looking at specific pieces in detail, but the best thing to do is looking at the code (the filenames in Zend/ give a good idea what they are for ...), take a question and time and start digging. For some things it's also good to look into xdebug, vld, runkit, ... and see where they hook in to do their magic. And well, the path from main() in sapi/cli/php_cli.c to execute() is not that long, what then happens is a bit more complicated though (while then again, once you're in, quite easy for most parts, too) johannes