Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:17715 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 30429 invoked by uid 1010); 9 Aug 2005 19:12:15 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 30413 invoked from network); 9 Aug 2005 19:12:14 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Aug 2005 19:12:14 -0000 X-Host-Fingerprint: 64.233.184.195 wproxy.gmail.com Linux 2.4/2.6 Received: from ([64.233.184.195:60464] helo=wproxy.gmail.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id F5/A9-04646-E0009F24 for ; Tue, 09 Aug 2005 15:12:14 -0400 Received: by wproxy.gmail.com with SMTP id i20so109358wra for ; Tue, 09 Aug 2005 12:12:11 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Av1rE2jLn8Gf6sZIVjJozMMcdScoIKjWNy/WYATiEA80vO+sOPXOtuA51l9gAxmxcartmfRQvAWNYhSCtdPbFtIs78LMwNk6Rm0+XGE06qigU59JfNyRvPgq0ctNy0mNGVujuNgv2/G/uqT3rosQv9YcNHs556b+Ow96YW13Hxg= Received: by 10.54.51.51 with SMTP id y51mr5715709wry; Tue, 09 Aug 2005 12:12:11 -0700 (PDT) Received: by 10.54.107.8 with HTTP; Tue, 9 Aug 2005 12:12:10 -0700 (PDT) Message-ID: <57792e8505080912126bd0842d@mail.gmail.com> Date: Tue, 9 Aug 2005 12:12:10 -0700 To: Rasmus Lerdorf Cc: internals@lists.php.net In-Reply-To: <42F82AE3.6070602@lerdorf.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <57792e85050808205143e96a8f@mail.gmail.com> <42F82AE3.6070602@lerdorf.com> Subject: Re: [PHP-DEV] Moving to PHP5.1 and Apache 2.2 next year, need help From: iamstever@gmail.com (steve roussey) On 8/8/05, Rasmus Lerdorf wrote: > > 3. Problems with thread-safety of modules >=20 > You missed the most serious one. Thread safety problems in random > libraries you link in and we have absolutely no control over those. OK, I am confused. I always thought (an assumption with nothing to back it up, now that I think about it) that the core part of PHP was thread safe and that it was the third party libraries included from _extensions_ that were at issue. So if I used mysqli then it was at the mercy of the mysql library. So if the mysqli maintainer knew that that library was safe and their extension was safe then they could mark it as safe. All others would go through a single mutex, etc... But if PHP core uses a library and has no idea if it is safe or not (like glibc, though would run under such a system?) then I get your point. I hadn't considered it before. I suppose that is why MySQL statically links in such things that it knows works, not leaving anything to chance. I guess PHP's greatest strength is also its weakness, PHP can never realistically be thread safe and we'll all just deal with it. Really, it has never been an issue before. I'm not a flag waver for threads! I've been perfectly happy with PHP4 and Apache1. It is just the Keep-Alive and connection pooling issues would more easily work themselves out in a threaded environment. Its a clean solution (from the point of view of using PHP, developing that is a different issue). I suppose adding in layers to fix these issues is the best direction to take, like separate connection pooling software to databases and another separate application to the same in reverse with keep-alive (a proxy would work here). With both "bookends" running on the same server and using domain sockets to PHP, it should work fine and is no longer a subject for this list. :) > My stuff is far bigger and busier than yours I know my name can be easily traced to a website I own that only gets about 10M pv/day but I also work as a consultant for another that gets an order of magnitude more. So perhaps you do get more then them and get 1B pv/day and your dad can beat up my dad. Ug. Strike that. I'm just frustrated and stressed. (My own website doesn't even need the db connection pooling just yet. Though it could use Keep-Alive..) I'll leave this discussion only with this: I love PHP and appreciate what everyone has contributed over the years. Thanks! (And now I'll shut up.)