Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
PHP Programming Software IT Technology

Official Support For PHP 4 Ends 245

Da Massive writes with this excerpt from ComputerWorld: "For a technology that has been in stable release since May 22, 2000, PHP 4 has finally reached the end of its official life. With the release of PHP 4.4.9, official support has ended and the final security patch for the platform issued. ...With eight years of legacy code out there, it is likely that there are going to be a fairly large number of systems that will not migrate to PHP 5 in the near future, and a reasonable proportion of those that will not make the migration at all. For those who are not able to migrate their systems to the new version of PHP, noted PHP security expert Stefan Esser will continue to provide third party security patching for the PHP 4 line through his Suhosin product."
This discussion has been archived. No new comments can be posted.

Official Support For PHP 4 Ends

Comments Filter:
  • Good to see... (Score:2, Insightful)

    I am glad to see that the PHP devs can allow an old version to die....unlike Microsoft, which seems determined to drag all of its products down with legacy support.

    This is the way progress is made.
    • ...unlike Microsoft, which seems determined to drag all of its products down with legacy support.

      Isn't that why there aren't any driver issues with vista?

    • I am glad to see that the PHP devs can allow an old version to die....unlike Microsoft, which seems determined to drag all of its products down with legacy support.

      I think it's the other way around - Microsoft has enough resources to support their products for 15+ years (and they have customers who request such level of support), while Zend does not.

      • Yes. Business would keep old business model as long as possible. Changing infrastructure is something literally everybody avoids in corporations. That's why they are going to be stuck with M$ for some indefinite time.

        But that's absolutely not problem with PHP (and open source in general). First is that you can always pay some 3rd party to do support for your. Second. F/LOSS in corporations has (at least in my experience) different usage pattern. While they would shoot dead anybody even suggesting to upd

    • Re: (Score:3, Informative)

      Tried running ASP or ASP.Net 1/1.1 under .Net 2 (including 3 and 3.5, as they are the same runtime) lately? Won't happen - you have to *specifically* select either ASP page functionality or the .Net 1.1 framework in IIS to run either of these legacy platforms. No legacy support bogging ASP.Net 2 down there...
    • by dave420 ( 699308 )
      Well, to be fair, server-side web software being deprecated is a lot different to desktop software. But I guess you have to get your dig in somehow, what?
    • by Anonymous Coward on Monday August 11, 2008 @06:58AM (#24553705)

      Now if only they'd let the current version die too, we'd really be making progress..

      • Thanks for the laugh. I don't agree with your comment, but it's funny enough to have made coffee blow out my nose.
  • by Anonymous Coward on Sunday August 10, 2008 @10:22PM (#24551285)

    FRIST PSOT!!!!!'); DELETE FROM replies WHERE reply != 'FRIST PSOT!!!!!'; --

    • Yeah, I know this post was meant to be funny, but anyone that depended on magic_quotes for 'security' needs their head examined. All magic_quotes ever did was cause trouble, and I'm sad to see it's still an option in PHP 5 (indeed, many web hosts explicitly enable it too).

      On the plus side, php.net has the work-around to servers with it enabled in a solution that's practically cut-and-paste.

  • Obi-Wan (Score:3, Funny)

    by nighty5 ( 615965 ) on Sunday August 10, 2008 @10:29PM (#24551333)

    I felt a great disturbance in the CVS, as if millions of lines of code suddenly cried out in terror and were suddenly silenced.

  • I feel like this is only even a story at all because valid PHP 4 code isn't necessarily valid PHP 5 code.

    Curious choices by the PHP folks to me, but I'm not really deeply invested enough in PHP to fairly call them good or bad.

    • by Stan Vassilev ( 939229 ) on Sunday August 10, 2008 @10:41PM (#24551407)

      I feel like this is only even a story at all because valid PHP 4 code isn't necessarily valid PHP 5 code.

      Curious choices by the PHP folks to me, but I'm not really deeply invested enough in PHP to fairly call them good or bad.

      The reason for those curious choices was the even more curious choices in the languages design in earlier versions. I would say however, that even the best design gets outdated in time, and it's better to sacrafice compatibility at some point.

      Key web-related technologies have reinvented themselves and it's hard to say where they would be if they didn't do so. ASP.NET (vs. old ASP) comes to mind, which was a radical rearchitecture. Flash is another example (on the client side), which almost completely rewrote their rendering stack in version 8, and completely rewrote their script runtime stack in Flash 9.

    • by SimGuy ( 611829 )

      This is common when you use the three-segment versioning method.

      If you raise the first number, you are generally doing so to indicate your backwards compatibility is being broken and that you are changing or removing features in addition to adding new ones.

      Changing the middle number means you're keeping compatibility with the previous version, but adding new major fuctionality.

      Changing the last number means you're just adding patches that do not affect compatibility or features.

      And you eventually have to st

  • Good News/Bad News (Score:3, Interesting)

    by SirLurksAlot ( 1169039 ) on Sunday August 10, 2008 @10:31PM (#24551343)

    The bad news: Lots of unsupported legacy code in the wild.

    The good news: Any conversion that needs to happen means more work for developers all around! Yay for a paycheck!

    Seriously though, PHP4 was fine for what it was, but it definitely had its drawbacks. Poor object support, poor error handling (No try..catch blocks? Seriously?), no type-hinting, no foreach statement, etc. PHP5 is so much easier to work with, and honestly most sites should've made the switch a few years back if they haven't already.

    • by sabernet ( 751826 ) on Sunday August 10, 2008 @10:37PM (#24551383) Homepage

      Where did you get your php info? foreach was introduced in PHP4, eval as well for error catching.

      The object support was nasty, but still better then the pseudo-object crap that perl has. Neither has private objects and vars outside of normal scoping but at least php didn't require passing extra arguments and shifting them out via a pseudo-constructor.

      Also, you could type cast in php4 as well.

      • Where did you get your php info?

        I get mine from phpinfo();

      • Ah, ok, you got me on foreach, I could've sworn that was a PHP5 thing. As for eval, you gotta admit that is a pretty poor substitute for try..catch blocks.

        Also, you could type cast in php4 as well.

        I'm not talking about type-casting, I'm talking about type-hinting. Instead of defining function foo($myVar) you can define function bar(MyClass $foo), so you (supposedly) know what you're getting as a parameter. Of course it only works on objects and arrays, but hey, better than nothing right?

        I know what you mea

      • OOP is Overyped (Score:3, Insightful)

        by Tablizer ( 95088 )

        The object support [in 4] was nasty, but still better then the pseudo-object crap that perl has.

        Be careful. Some of us feel that OOP is overhyped. While I can see use for it in operating systems and systems software, eCommerce and biz apps have had a difficult time making use of OOP well. I've yet to see a decent example of OOP helping these. (Of course, "decent" is often in the eyes of the beholder.) But, I might change my mind if shown a decent example.
             

        • Re:OOP is Overyped (Score:5, Interesting)

          by daemonburrito ( 1026186 ) on Monday August 11, 2008 @01:53AM (#24552365) Journal

          OOP is not overhyped. Just misunderstood. PHP4's object model really was a bit nasty, as evidenced by the projects that jumped into using it before they understood how it was meant to work (e.g., oscommerce).

          Decent example of php5 (zf, in fact) e-commerce (bleh): Magento [magentocommerce.com], 2008 sourceforge best new project.

          The reason that there is a lot of procedural php4 code out there is that the older api's don't make sense in php5's paradigm. With the millions of people used to writing to api's like Drupal's or Wordpress's, the change was glacial.

          But it is totally clear: PHP5 better than PHP4. OOP good.

          Note: I am a former Dijkstra devotee. I've heard every argument you can imagine against OOP.

          • Re:OOP is Overhyped (Score:3, Interesting)

            by Tablizer ( 95088 )

            Decent example of php5 (zf, in fact) e-commerce (bleh): Magento, 2008 sourceforge best new project.

            What specifically does OO make better about it? What's an example?

            Note: I am a former Dijkstra devotee. I've heard every argument you can imagine against OOP.

            That would make you well suited to describe and illustrate what changed your mind. Dijkstra was mostly pre-relational, so he may hold a RAM-centric view of data structures. OO is missing a foundation in set theory, and this is what relational adds. OO is

            • Re:OOP is Overhyped (Score:5, Interesting)

              by daemonburrito ( 1026186 ) on Monday August 11, 2008 @02:53AM (#24552663) Journal

              What specifically does OO make better about it? What's an example?

              There are many 1000+ page books on the subject. I think this question is beyond the scope of a slashdot comment. But, as a taste: More literate and intuitive api's. Type safety. MVC.

              Specifically about Magento: It uses a framework that has been systematically tested (another advantage of oop) and is based on the MVC + Front Controller paradigm for web apps. It went from whiteboard to working in 3 months. It's simple to extend.

              Regarding what changed my mind about OOP: I learned to use OOP techniques. I never had any negative feelings towards OOP, I was just in love with single-in/single-out purity of the old ways.

              OOP is great for my shop. Of course you can accomplish the same result, theoretically, with any two complete languages/paradigms. The question is whether you want anyone else to read your code (or whether you want to be able to read it in 6 months), how long you want to take writing/researching it, what your requirements are for code quality, and what kind of environment you want to work in if you're on a team. Obviously, if it's just you and you have eternity to write and debug your application, then oop doesn't offer any advantages.

              My advice is just to try it out. You can use your Dijkstra-fu inside of methods and in novel data structures, while at the same time experiencing the convenience and consistency of magic axiomatic things like "programming to an interface." It took me a few months of mind-destroying pain to change the way I built a program, but it is very much worth it. Apologies if you've heard this advice before.

              Btw, you sound like you probably know a lot more about Djikstra than I do. :) There are so many ways... OOP is now just a another tool for me. The paradigm that has taken its place as my ocd target is functional languages like Haskell.

            • Decent example of php5 (zf, in fact) e-commerce (bleh): Magento, 2008 sourceforge best new project.

              What specifically does OO make better about it? What's an example?

              OK. You already got a bunch of silly responses sending you to read think books.

              But as developer who got first experience with OO about 15 years ago, I'd opine that OO is all about improved code organization.

              There is literally ZERO of OO code which can't be written in plain functional language.

              To me, biggest advantage of OO, is that it allows (at least partially) implement interfaces between code parts. Also some OO languages allow you make sure the interfaces are followed to some degree. OO is als

        • On the other hand (Score:4, Insightful)

          by Almahtar ( 991773 ) on Monday August 11, 2008 @02:24AM (#24552543) Journal
          Whether or not you see OOP as overhyped, if a language features OOP it should do it well or not at all.

          Nobody is asking you to like OOP in this case, but if you are going to support it, support it well - not half-assed.
        • by jimicus ( 737525 )

          Be careful. Some of us feel that OOP is overhyped.

          I wouldn't say overhyped. I think it provides a good design framework for large systems.

          However, I don't think it's always particularly well taught. To all intents and purposes, it's a superset of top-down programming - it's just that you don't apply top-down ideas until you get to the stage of writing individual methods. Thing is, as far as I could gather when I was in university only a handful of lecturers (generally the more experienced senior ones) actually understood this.

          Perhaps I should have gone

    • Re: (Score:3, Funny)

      by billcopc ( 196330 )

      Agreed. Maybe I'm an asshole (no wait, that's a guaranteed fact), but I have no pity for anyone still running PHP4... if they wanted to switch, they had all the time in the world to do so. PHP5 has been out for what, 4 or 5 years now ? Anyone still running on the old stuff is either happy with it and shouldn't bother upgrading, or hopelessly incompetent.

      That said, I'm very eager to see PHP6... I don't really want to switch over to Ruby / Python, largely for performance reasons, so I'm curious to see wha

      • by daemonburrito ( 1026186 ) on Monday August 11, 2008 @01:59AM (#24552389) Journal

        Even though it's a shit language, I always thought it had a certain charm in its crudeness and the fact that there's a (redundant) function for everything imaginable.

        Does not compute. If you are using PHP5 to its potential, then most of your coding should be abstracted away from the old built-in (and inconsistently named) functions. You should never have to touch them.

        PHP5 is not a shit language, in any way, and it even manages to be a superset to the older versions (which were, admittedly, crude).

      • by Fweeky ( 41046 )

        I don't really want to switch over to Ruby / Python, largely for performance reasons

        Why, do you need your language to be slower than Python [debian.org] but not slower than PHP [debian.org]?

  • by exabrial ( 818005 ) on Sunday August 10, 2008 @10:32PM (#24551351)
    PHP is a minor evil perpetrated and created by incompetent amateurs, whereas Perl is a great and insidious evil, perpetrated by skilled but perverted professionals. -- Jon Ribbens Amen.
  • by kestasjk ( 933987 ) on Sunday August 10, 2008 @10:34PM (#24551361) Homepage
    .. let me say hooray! PHP5 is worlds ahead.

    Let me also say they're wrong about legacy systems being slow to migrate: PHP5 runs PHP4 code just fine (notwithstanding a few copy-on-write and unassigned reference issues, which are very easy to fix).

    PHP5, in this context, would be better called "Zend Engine 2", since that's what the real update is. PHP4 the language is essentially just a subset of PHP5.

    Incidentally (perhaps) the phpMyAdmin 3.0.0 beta just came out yesterday which sacrifices Zend Engine 1 (PHP4) support. It also drops MySQL 4 support, and I think lots of projects will follow suit; PHP4 is going to drag MySQL 4 with it, which is also great.
    • Re: (Score:3, Insightful)

      by kjots ( 64798 ) *

      Please don't let anyone get away with calling the internet the cloud!

      Traditionally, when network engineers and administrators draw diagrams of networks, they represent the connection to the Internet as a big bumpy object not unlike a child's drawing of a cloud. I have heard old hackers who used to work in the telecommunications industry during the 80's and 70's describe this object as 'the cloud', meaning the Internet.

      This term predates the current usage by several decades, and is in fact the source of the current usage

      This is a gentle but pedantic reminder that, if you're

      • Re: (Score:2, Interesting)

        by kestasjk ( 933987 )

        Please don't let anyone get away with calling the internet the cloud!

        Traditionally, when network engineers and administrators draw diagrams of networks, they represent the connection to the Internet as a big bumpy object not unlike a child's drawing of a cloud. I have heard old hackers who used to work in the telecommunications industry during the 80's and 70's describe this object as 'the cloud', meaning the Internet.

        This term predates the current usage by several decades, and is in fact the source of the current usage

        This is a gentle but pedantic reminder that, if you're going to make an absolute assertion, make sure it is the correct assertion.

        I know where the term came from, that's one of the reasons I find it so annoying. :-(

        We don't call resistors "jagged lines" and inductors "curly loops", so why call the internet "the cloud"?
        It isn't actually a cloud, and saying "cloud" isn't any shorter or clearer than "internet" (in fact less clear).

        It's just a new IT business fad which lets IT staff make something familiar sound new, I think.

        • by kjots ( 64798 ) *

          It isn't actually a cloud, and saying "cloud" isn't any shorter or clearer than "internet" (in fact less clear).

          Dude, there's like a hundred million things in the technical world that are called things that they're not based on nothing more then decades of habit. I mean, is a "bug" really just an insect? Does "bootstrap" really mean a piece of leather attached to a boot? To single out this one example is just splitting hairs.

          Okay, so you don't like the term "The Cloud". That's cool, nothing wrong with that, but you have no grounds on which to object it. It is as valid a term as "bug" or "bootstrap" or countless

          • "Bug" is more concise than "a software flaw which causes behavior the developers didn't intend", "bootstrap" is more concise than "software which loads the boot-loader". "Cloud" is just "internet".

            There are better examples though which make your point (like "firewall", which I think would be better as just "packet filter"), but these phrases are old and cast in stone, so there's no point trying to fight them anyway. It'd now, unfortunately, be more confusing to try and change them than to just stick with
            • by repvik ( 96666 )

              "Bug" is more concise than "a software flaw which causes behavior the developers didn't intend", "bootstrap" is more concise than "software which loads the boot-loader". "Cloud" is just "internet".

              "Bug" is just "flaw", "Cloud" is more concise than "an enormous, globally interconnected network".

              • "Bug" is more concise than "a software flaw which causes behavior the developers didn't intend", "bootstrap" is more concise than "software which loads the boot-loader". "Cloud" is just "internet".

                "Bug" is just "flaw", "Cloud" is more concise than "an enormous, globally interconnected network".

                "Bug" implies more than "flaw". It's specifically not a design flaw, and it's not a problem where the user thinks something should be done a differently. "Cloud" doesn't imply anything more than "internet" though

            • Re: (Score:3, Informative)

              by Tim C ( 15259 )

              "Bug" is more concise than "a software flaw which causes behavior the developers didn't intend"

              It's also due to the fact that early in the history of computing, a fault was found to be due to a moth being trapped between the contacts of a relay [worldwidewords.org].

              For what it's worth, I don't like people calling the Internet "the Cloud" either.

        • Re: (Score:3, Insightful)

          by Urkki ( 668283 )

          Depends on where you are. If you're in the Internet could, then it's a fog, not a cloud ;-).

          Anyway, to me "cloud" is not same as the Internet, it's roughly the same as "rest of the Internet". This is an important distinction! Local site is not in the cloud. Remote site (for example another office of the same company) usually is not be in the cloud either, or it could be considered a separate cloud, even though connection to it goes through the big Internet cloud.

          The totality of Internet is not dependant on

          • by huge ( 52607 )

            To me "cloud" in network diagrams has nothing to do with Internet. I use clouds to remove irrelevant clutter from the diagrams. It can be any network (or part of one) which internal layout isn't relevant for that diagram. It could be corporate backbone, Internet, PSTN, whatever.

            Then again, that's just how to visualize something on a diagram and I'd not part of the network or internet "cloud".

      • by Tim C ( 15259 ) on Monday August 11, 2008 @07:35AM (#24553905)

        Traditionally, when network engineers and administrators draw diagrams of networks, they represent the connection to the Internet as a big bumpy object not unlike a child's drawing of a cloud.

        That's true, and I've done it often enough myself. I also draw databases in the traditional manner, and yet I never feel the need to refer to them as cylinders.

        • In working for Cisco I noted that the Internet was always represented as a cloud. Ever since I have referred to it as the "CFNC" or "Cisco Fluffy Network Cloud" and have labeled it thus on my networking diagrams ever since. (Cisco deserves a little credit for making the internet work as the company that invented and marketed the router...)
  • Fact check please? (Score:5, Interesting)

    by Jack9 ( 11421 ) on Sunday August 10, 2008 @10:35PM (#24551363)

    With eight years of legacy code out there, it is likely that there are going to be a fairly large number of systems that will not migrate to PHP 5 in the near future, and a reasonable proportion of those that will not make the migration at all.

    I question the validity of these assumptions. My first salaried job was programming PHP/FI 2 (1998). I cannot find a single product I have been involved with or even used in the past (which contains PHP code), that hasn't upgraded. Systems written in PHP could only benefit from the improvements in 5 and there's almost nothing written in PHP that's so critical* that it wouldn't be upgraded by the current developers or new developers trained in 5.

    *This is both a side effect of the language design and the people who write it.

    Can someone give some examples of products stuck in 4.0?

    • Re: (Score:3, Informative)

      by Anonymous Coward

      Ubersmith.

      They provide billing automation and equipment management for lots of hosting companies and datacenters. They said that they're supposedly "working" on a PHP5 version, but that statement was said months ago.

      Notice "Ubersmith does not support PHP 5.x at this time" on the order pages of both:
      http://www.ubersmith.com/products/pro/order.php [ubersmith.com] and
      http://www.ubersmith.com/products/lite/order.php [ubersmith.com]

      From the looks of their blog, their appliance version supports PHP5, but not so sure about the self-hosted versio

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      I sell PHP scripts, and I'd estimate 30-50% of my customers are still using PHP 4. Many of them have told me they tried PHP 5, but it broke some other ancient script they were using. Or some are still using four year old versions of my scripts and refuse to update.

      The users aren't programmers. You can't tell them it's easy to fix the little problems in their legacy scripts, because they struggle to upload files, let alone write code. They're going to stick with PHP 4 until they're dragged forward kicking an

  • Obligatory post (Score:3, Informative)

    by 93 Escort Wagon ( 326346 ) on Sunday August 10, 2008 @10:45PM (#24551431)

    For a technology that has been in stable release since May 22, 2000, PHP 4 has finally reached the end of its official life.

    I'd like to propose that Slashdot "editors" be stripped of that title, and from now on be referred to simply as "approvers" - there's obviously no editing involved in the job at all.

    • I'd like to propose that those who complain about Slashdot editing standards are now simply referred to as "whiners".

      This is a blog - you're a guest here. Get over it.

      • I could quibble with your definitions of "blog" and "guest", but it doesn't really matter. Misinformation is misinformation, whether it's from a blog or a newspaper. People have a right, even a duty, to complain about somebody who sloppily shares "facts" that are really nonsense. It's not "whining", any more than it's "whining" to complain about a rock thrown through your window.

      • by Arimus ( 198136 )

        Since when is /. a blog???

        Suspect /. being a blog is news (hey, maybe that would be more news worthy than some of the news ;) ) to alot of people on here...

        • /. seems to be more of a loose tech news aggregation site to me, but even then it seems most readers are here for the comments.
      • Once Slashdot started selling subscriptions they stopped being a "blog". Besides, you're the whiner :P
    • Re: (Score:2, Interesting)

      by WhyMeWorry ( 982235 )
      Copiers would be a better term. The original article has the same problem. What was their excuse?
  • You know what? (Score:5, Interesting)

    by Ambush Commander ( 871525 ) on Sunday August 10, 2008 @10:56PM (#24551491)

    You know what? I'm sick and tired of the fact that every PHP related post to Slashdot ends up sludgefest of old jokes, one-line jabs at PHP, and misinformation.

    Official ending of PHP4 support is a big thing in the PHP community. If you're a reader of Planet-PHP, you'll know this; for almost all of 08/08/08 there was nothing but end-of-life celebrations from the bloggers. The community has done an exceptional job at getting developers, open-source projects and hosters alike to migrate to PHP5 for such a heavily used language. And we will have to surmount even bigger difficulties for PHP6 and Unicode, which unlike PHP5, breaks backwards compatibility with any project that treats strings as binary data. Migrating PHP4 to PHP5 is not difficult; often it's as simple as an edit to the server migration. PHP6 will definitely demand code changes.

    For those of us who use and "have to deal with" (yes, we have our annoyances too) with PHP on a daily basis, this is good news. For the rest of you, please contribute something meaningful, or forever hold your peace.

    • by Tim C ( 15259 )

      You know what? I'm sick and tired of the fact that every PHP related post to Slashdot ends up sludgefest of old jokes, one-line jabs at PHP, and misinformation.

      That's just slashdot, it's nothing against PHP specifically. Java, .NET, perl, Windows, OS X, etc all get the same treatment to greater and lesser degree.

      The sad fact of the matter is that many of the most vocal people here have the maturity of a teenager.

  • by JoeCommodore ( 567479 ) <larry@portcommodore.com> on Sunday August 10, 2008 @11:26PM (#24551605) Homepage

    I went to PHP5 quite a while back. I started with 4 and had already been programing nice (long tags in html, program with globals off, etc.) so there was no issue for me, everything just worked on 5. I do have one script I found on sourceforge (dead project) that doesn't work on 5, probably used something deprecated from 3 slated for removal after 4. I don't expect conversion of that to be too serious either.

    I think a lot of the FUD is being placed on ISPs who run PHP4 servers and may have outdated cpanels or other pre-set PHP apps. I would think maybe a weeks worth of work for most mom and pops to get the upgrade complete (a lot it setting up automating on any data upgrade conversions) but it's surely not the end of the world.

  • Go PHP 5! (Score:5, Interesting)

    by GrouchoMarx ( 153170 ) on Sunday August 10, 2008 @11:28PM (#24551617) Homepage

    For those wondering how many projects will be left out in the cold, here's your answer:

    http://gophp5.org/ [gophp5.org]

    Over 100 PHP projects and products and over 200 web hosts that have been committed to PHP 5.2 and no earlier for over a year. GoPHP5 launched before the PHP development team announced an EOL for PHP 4. While I don't believe for a second that it was the only reason they made that decision, I also don't believe for a second that it didn't have a big influence on it.

    The push to drop PHP 4 support came from people using PHP in production in the first place. Those of us who get paid to write PHP code are cheering at the top of our lungs, because now we can actually get real work done.

    Go PHP 5!

  • Now I feel slightly better about having forced my colleagues to upgrade PHP to version 5.

    In my defense, I was using array_walk_recursive, but I'm sure they were quite frustrated by the problems I created.

  • Migration woes (Score:5, Interesting)

    by Anonymous Coward on Monday August 11, 2008 @01:49AM (#24552337)

    I see a lot of people saying that they're surprised anyone's still using PHP 4, when PHP 5 has been out for so long. Well, I can guarantee you there's a lot of legacy PHP 4 codebases out there; converting to 5 is not always as easy as going over what's in the migration page on php.net [php.net]. Just to give you an idea of the magnitude, we have tends of thousands of code files spread across numerous systems; our live web pool is around 100 machines, and we cannot take the website down in order to update it. (I can't tell you why.) So updates have to be made live. We don't have a proper staging environment, either, but we have come up with a number of (horrible) mechanisms for dealing with this situation.

    In our particular (unfortunate) case, we had about half a dozen custom PHP extensions that were all written by our former CTO, who left the company about a year and a half ago. He wasn't really big into documentation, and our technical management was very poor; we had a guy go through our 65,000-file codebase and make all the little tweaks necessary for a vanilla 4-to-5 migration, but it took us six months of wrangling with all these extensions to get them to work well under 5.1 (we're still having trouble with 5.2).

    Plus, it's not just a matter of dealing with the technology; like a lot of companies, management here doesn't like to put resources into things that don't have visible benefits -- and cleaning up the codebase/rebuilding the dev environment just isn't something they see a lot of value in. (We've finally convinced them it's important and needs to be done; we're operating without source control for about 99% of our code. YES, I KNOW.) We didn't even seriously start pushing to get things up to PHP 5 until January, and it took until July to actually make it happen.

    The point is, mismanagement and bad development environment/codebase design early on (several years ago) have meant that we're upgrading to PHP 5 years later than we should have. It's not that we didn't know how to do it once we decided to.

    • You have my deepest sympathies. That sounds like a thankless task. Hopefully, the measures you are taking are being well documented and explained to management to prevent any similar mistakes in the future.
    • So you don't have the tools to do your job, yet are expected to do your job?

      Sucks to be you.

  • PHP 6? (Score:3, Interesting)

    by thue ( 121682 ) on Monday August 11, 2008 @05:37AM (#24553297) Homepage

    I wonder when we will see PHP 6 (which will have unicode support).

    PHP 6 has been in development forever, but there doesn't seem to be any roadmap online that I can find.

  • I mean, if they were interested in security patches they wouldn't be using pHP in the first place.

  • OK, maybe the stuff we had wasn't too involved.

    But when PHP5 came out, I downloaded it and spent about a week going through all of our PHP4 specific code and changed it to PHP5.
    Just like I did years before that when PHP3 became PHP4.
    Granted it was only a couple thousand line of code, but you gotta bite the bullet once in a while and it hurts a lot less to do it early instead of late.

E = MC ** 2 +- 3db

Working...