Hello internals. Sometimes I wonder if people even read the stuff that is written here. I understand that this thread got long, but it's not that bad - most messages are short and readable, easy to follow. As with "APOCALYPSE WILL HAPPEN" style claims, that we see here, I just don't understand your reasoning people. People said repeatedly, and RFC too, that it's not going to be E_DEPRECATED on every function call in the extension - it's only on mysql_connect & mysql_pconnect. And seriously, guys, there are other places that throw E_WARNING, E_STIRICT and E_DEPRECATED - ignoring those is a bad idea no matter how you put it . E_DEPRECATED sends a clear message, that everyone understands. And docs are not a best place for a warning of that kind - I now look into the docs a few times a year for something specific, I just don't need to cause even I just remember the stuff I use. And IDE helps to remember the things I forgot on the fly. If I would not read this list I would know about the deprecation when I would update my developer PHP to new release and get E_DEPRECATED on my developer machine (I moved to mysqli like ages ago and frameworks make me use PDO). That's just how a regular developer works - this is an extension that like 100% of us (the guys that work with MySQL for any time longer than half a year) know by heart, why da hell do I need to read docs for that?
Deprecating stuff isn't a viral video or a funny picture that gets spread virally. Yes, people write blogs, spread the word, but it's effect is far from what you want and need. I don't see how removing a whole extension is any kind of special case. You deprecate it, give people a year or so to do something about it and move the extension to PECL. It's not like you are just killing it without any options to enable it. It is always painful to remove the stuff many people use, but you just can't make it without someone realizing that stuff was deprecated like 5 years ago, removed 4 years ago and he just installed that "old new version" straight to the production server and it all just died. You should know better how many idiots are out there in the wild, who never learn from their mistakes. Even I make some repeated mistakes from time to time, although I try to learn my lesson - stuff just happens. Just handle it with as much noise coverage as you can - make an official statement on php.net, get attention of *nix distros and framework/cms/cmf developers, remind people on the conferences, blogs, etc. Include reasoning why are you doing this, provide migration article in the docs (like oracle's one). I never wanted to say it would be easy, but it wasn't easy to remove register_global, magic_quotes and other stuff (and it was written in this thread that Wordpress still has emulation code for this). Just prepare for it. 3-5 years should suffice for people to move to mysqli their projects, that's the time frame majority of people will just start to use versions after PHP 5.4 Arvids.