John Du Hart wrote:
Earlier this month, the PHP developer team moved to start soft deprecating the mysql.so extension via documentation, with a intent to fully E_DEPRECATED in a later release. [1] Therefore, I thought it would be appropriate to start a small discussion as to how this should be handled.
The goal is to recommend alternatives that would make new code use the other options, due to security issues with most mysql code. Given that mediawiki uses a wrapper which escapes the variables, I see no hurry in adding a mysqli implementation.
At the current moment, MediaWiki is still using these functions in its DatabaseMysql class. Being a new contributor to MW this came across as odd as to why no MySQLi implementation was available, so I went ahead and created one [2] (Patch [3]).
There was no need for it.
Right now it's just another $wgDBtype, how it should really be integrated is what I want to discuss. Should any implementation (not necessarily mine) using MySQLi just be another DBType in the installer perhaps? (Most software I've seen goes this route)
Yes. Having it as another $wgDBtype is the right way (perhaps with a common parent for both mysql classes?).
Also, at what point (time or event) do we do away with mysql function support? Also, are there any performance regressions with MySQLi that we should be aware about?
Probably, some time after mysql is removed from php, which could never happen.