Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:85139 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 81820 invoked from network); 17 Mar 2015 21:26:15 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Mar 2015 21:26:15 -0000 Authentication-Results: pb1.pair.com header.from=smalyshev@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=smalyshev@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.220.45 as permitted sender) X-PHP-List-Original-Sender: smalyshev@gmail.com X-Host-Fingerprint: 209.85.220.45 mail-pa0-f45.google.com Received: from [209.85.220.45] ([209.85.220.45:36609] helo=mail-pa0-f45.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 71/C4-56166-6FB98055 for ; Tue, 17 Mar 2015 16:26:14 -0500 Received: by padcy3 with SMTP id cy3so20758176pad.3 for ; Tue, 17 Mar 2015 14:26:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=Lh3nKuvTCpwuUOI8tma62Z0/ML6VL4sh8eq1kP1n9ng=; b=QK08tMgRweoXSgkHTFPvB1EcEVvr2W/RbNmNQQhJubkU9ORt3rQlDvPCS0JTclX53V rHPk+t76b3VGNzsfTQ7/Y0Qf+XkWlPVv+aU5eoO/LQjrttnaNI8kPPogghlC2EaGWfYx lm25dhYlztdEWZPPjKw2xtFpWtwQOdIw/HDZo/wmLgUjCM3eEIb5XBs4wJQ3YkiclSB+ R8ybwg9/BEZswrVWIyF812tqwT9tK7XLiu/3ECifQp6HucPIUp00Fxk1PyDOoyQ2Jut4 mJoOHWwF1SMUwsq20NSxPVjYk7B5dHaaTzUJJF6enxRwwDLfRnTBQsU2Sw1iKlafz38k lJBQ== X-Received: by 10.66.65.138 with SMTP id x10mr151688734pas.152.1426627571682; Tue, 17 Mar 2015 14:26:11 -0700 (PDT) Received: from Stas-Air.local (108-66-6-48.lightspeed.sntcca.sbcglobal.net. [108.66.6.48]) by mx.google.com with ESMTPSA id qh6sm24027024pab.34.2015.03.17.14.26.10 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Mar 2015 14:26:11 -0700 (PDT) Message-ID: <55089BF1.2060203@gmail.com> Date: Tue, 17 Mar 2015 14:26:09 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Patrick Schaaf , internals@lists.php.net References: <1807379.geZHnrMSPX@rofl> In-Reply-To: <1807379.geZHnrMSPX@rofl> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] PHP apache2handler virtual() function From: smalyshev@gmail.com (Stanislav Malyshev) Hi! > i.e. when it works at all. With Apache 2.4 the ap_rflush() in zif_virtual() > terminates the currently running main request, in my testing, resulting in a > completely crashing apache. This might be remedied, though. > > At the moment, as part of my efforts to fix bug 68486, I have modified things > to that the PHP interpreter is NEVER reentered. virtual() continues to work, > but only with URIs that do not again enter the apache2handler. > > First question here: would this be an acceptable bugfix? Do you mean that you can call virtual() only on non-php URLs but on PHP urls it would fail? I'd assume that is a pretty big BC break then so it'd be better if we could avoid it. But if it's not avoidable then I guess we should do what we need to avoid crashing. > Furthermore, I have a working prototype of changing the behaviour of virtual() > in the following way: _remember_ which subrequest should be made, but then > only really make it when the current request ends (php_handler() in the That's probably useful but not the case for virtual(), as virtual() is meant to be replacement for SSI #include, i.e. work in-place, and if it's deferred till the end of the request the output will be broken. I'm not sure how many people actually use virtual() (it's pretty limited use case) but ones that do probably need it to work in place. Not sure PHP support in it is required though (since you could include PHP code directly I presume). -- Stas Malyshev smalyshev@gmail.com