Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:65497 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 79485 invoked from network); 30 Jan 2013 12:29:04 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 Jan 2013 12:29:04 -0000 Authentication-Results: pb1.pair.com header.from=bas@tobin.nl; sender-id=pass; domainkeys=good Authentication-Results: pb1.pair.com smtp.mail=bas@tobin.nl; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain tobin.nl designates 208.97.132.119 as permitted sender) DomainKey-Status: good X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: bas@tobin.nl X-Host-Fingerprint: 208.97.132.119 caiajhbdcbbj.dreamhost.com Linux 2.6 Received: from [208.97.132.119] ([208.97.132.119:58292] helo=homiemail-a1.g.dreamhost.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id BF/5D-09318-F0219015 for ; Wed, 30 Jan 2013 07:29:04 -0500 Received: from homiemail-a1.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a1.g.dreamhost.com (Postfix) with ESMTP id C8CF7348073; Wed, 30 Jan 2013 04:29:00 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=tobin.nl; h=subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to; q=dns; s=tobin.nl; b=JuY2naC9o7OrU72S uUw3heEkeHxJ2U0u/AulpZw9rwn6hZKEw0g/c9C6Qy8gUrGJjCtfkQmG8mHdH9OQ 5W/dDnOYwpRwzA4+4sUOHGg5rQbzU2vccTLfr16NQO9+XxjHSJJoSsXfJNNgQTMu wsB4sQsSKWSwPRm6i2m4qWttdDA= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=tobin.nl; h=subject :mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=tobin.nl; bh=yIk46OPWVfCGHzgb+S2vcU+OJC4=; b=J+Gm4RTHTEIPkDCChZEniKa/MpoX 0AXIo+ypd/9ltQMZZmn4Ia9UQDp+ct16VqTE+IEiSNd8dwXIvfhcnwfQXYbsQ+/D a0il49BWTy0YaUEUIwI/yP/J7qEYsISgxKQvGj7HQc1s2JyChD+nhOU0CyHlIb5H Emxh1vPECoaOF/A= Received: from [192.168.1.11] (82-171-216-38.ip.telfort.nl [82.171.216.38]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: bas@tobin.nl) by homiemail-a1.g.dreamhost.com (Postfix) with ESMTPSA id 9405934806C; Wed, 30 Jan 2013 04:28:59 -0800 (PST) Mime-Version: 1.0 (Apple Message framework v1283) Content-Type: text/plain; charset=us-ascii In-Reply-To: <4d977bab18152b2e86d968f4db9d12ef@mail.gmail.com> Date: Wed, 30 Jan 2013 13:28:57 +0100 Cc: Pierre Joye , Stas Malyshev , PHP internals Content-Transfer-Encoding: quoted-printable Message-ID: <9DB107EF-A5CE-4CF5-84A1-7E2D733B4089@tobin.nl> References: <5108743A.9090705@sugarcrm.com> <4d977bab18152b2e86d968f4db9d12ef@mail.gmail.com> To: Zeev Suraski X-Mailer: Apple Mail (2.1283) Subject: Re: [PHP-DEV] ZTS - why are you using it? From: bas@tobin.nl (Bas van Beek) Hi Guys, As a heavy user of ZTS in multi threaded C/C++ applications, here are my = $0.02. Removing ZTS would be a bad idea for all those custom multi-threaded = applications out there that allow some form of internal/embedded PHP = scripting. These applications are not web-servers but do make use of = threads for reasons of their own. Building a FastCGI set-up would be out = of the question if these apps are deployed customer / client side and = need concurrent PHP script runs. > Based on the feedback on this thread, I think we should instruct users > that using thread-safe versions of PHP is slower, and that actually > putting thread-safe PHP inside a multithreaded server is not a very > reliable solution. We should recommend FastCGI/fpm instead. We = should do > that tomorrow morning (figuratively speaking). > Zeev >=20 > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >=20 This makes a lot of sense, I see where FastCGI/fpm is the best solution = for the majority of users of PHP which deploy large scale web = applications. The tone in this conversation looked like ZTS had no place = in the PHP future. I think it does, but maybe not for the regular web = server / web application use case. For custom applications with embedded = PHP, I see it making more and more sense as a lot of native applications = need to interface with web services and often SDK's for these services = are either not available or tedious to use for native application = development. Being able to use the PHP SDK's and quickly build conduits = between custom apps and services using PHP is very beneficial. = Developers of these kind of apps are well aware of the potential = pitfalls in using threads and potential non TS libraries as long as = documentation is clear about it. My biggest worry is when we signal that ZTS is a relic or not important = enough to support in extensions we end up with developers building = extensions not trying to be ZTS compatible even if they could be made = thread safe easily. For the majority of extensions it's a simple = question of adding the TSRM macros. If the underlying library doesn't = support it or it would impact performance too much, I would at least = want to know that the extension is not thread safe so I can leave it = aside and come up with another solution. Bas van Beek=