* Symbulos Partners <partners@xxxxxxxxxxxx>: > Rasmus Lerdorf wrote: > > > > As far as threading goes, it is simply not a good idea for a large > > complex system. > > > I do not understand why, probably because I am not well prepared. Can you > explain me? As far as I know, threading should be a noticeable improvement > in case of large systems. Is there something in the implementation of PHP 5 > which does not allow for safe threading? If so, what it is? My understanding is that not all of the libraries to which PHP links have been tested with threads -- it's not a PHP issue, per se, but one of PHP extensions. If you know for a fact that the libraries with which you plan to compile PHP *are* threadsafe -- e.g., MySQL -- you're probably okay; if not, better to stick with Apache2's prefork model or stay with Apache1. > > I am a big believer in keeping the base infrastructure as simple as > > possible. You are going to layer a lot of complexity on top of Apache > > and PHP in the form of your web applications. You want to make sure > > that your building blocks are rock solid so if you see a problem you can > > be confident that it is something you did wrong. If your base is shaky > > everything you build on top of it is going to be that much more unstable. > > I totally agree. Our problem is that we want to use the new php 5 object > model, and at the same time would like to move to Apache 2 for several > different reasons. > > There are 4 alternative solutions > > 0)php 5 + Apache 2 > 1)php 5 + Apache 2 pre-fork (not totally satisfactory, but better than have > a system that is unstable) > 2)php 5 + Apache 1.3.33 (which is not totally satisfactory, less than 0,1 in > any case, but better than have a system that is unstable) > 3)php 4 + Apache 2 (which is not totally satisfactory, less than 0,1,2 in > any case, better than have a system that is unstable) > > which one does satisfy your condition of rock solid foundation? Or shall we > stick with php 4 + Apache 1.3.33, which is VERY unsatisfactory because we > cannot use the new object model? I *have* seen errors with PHP4 and Apache2, and I doubt these would be any different with PHP5. However, where I work, we're developing on an Apache2 prefork with PHP5, and performance is solid. I did recently see a benchmark of PHP with Apache1 vs PHP with Apache2, however, and it showed that the former outperformed the latter by 27 - 31%: http://ilia.ws/archives/32-Apache-1-vs-Apache-2-Performance.html If performance is less critical than features, then Apache2 will work fine. I guess the big question is: are the features for which you want Apache2 available with the prefork model or not? If not, there's no benefit to going to Apache2 -- and it might make more sense to run multiple servers -- some with Apache1 and PHP5 and others running Apache2 and whatever other modules you need. -- Matthew Weier O'Phinney | mailto:matthew@xxxxxxxxxx Webmaster and IT Specialist | http://www.garden.org National Gardening Association | http://www.kidsgardening.com 802-863-5251 x156 | http://nationalgardenmonth.org -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php