mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #13362
[Bug 1187964] Re: Use adodb "mysqli" instead of "mysql"
The adodb mysqli driver requires a different PHP library than the adodb
mysql driver:
mysql uses the "original PHP mysql library": http://nz1.php.net/manual/en/book.mysql.php
mysqli uses the "Mysql Improved" library: http://nz1.php.net/manual/en/book.mysqli.php
Since it's conceivable some people might have the first one and not the
newer one installed on their computer, we should:
1. Keep the old mysql driver around for at least 1 release
2. In config.php, make "mysqli" refer to the mysqli driver and "mysql5" refer to the current driver.
3. Add an admin screen warning suggesting that they change their DB driver from mysql5 to mysqli.
I'm also going to change the recommended postgres config name from
"postgres8" to just "postgres". And I will add an undocumented "mysql"
that points to "mysqli". Then when we drop support for the mysql5 driver
at some point in the future, we can tell people to just set "mysql" or
"postgres".
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1187964
Title:
Use adodb "mysqli" instead of "mysql"
Status in Mahara ePortfolio:
Triaged
Bug description:
Mahara is currently using the adodb "mysql" driver for MySQL
connections. This is based on an older PHP library which is no longer
in active development and lacks certain features, most notably
transactions (see for instance
https://mahara.org/interaction/forum/topic.php?id=5434 ).
We should probably switch to the adodb "mysqli" driver, which is built
on the newer mysqli PHP library and *does* support transactions.
There are two ways we could go about this gracefully:
1. When a user supplies the string "mysql5" in their config.php file,
we could silently interpret this to mean that they want to use the
"mysqli" driver. (We could alternately provide some other way to
indicate they want to use the older "mysql" library if we really want
to support it.)
2. OR, we could show the admin a warning message after they
upgrade/install, which tells them they should really change the
"mysql5" in their config.php to "mysqli".
I support option #1. Given that we only support mysql and postgres,
there's no reason we shouldn't abstract away the connection between
config.php and the name of the underlying adodb driver. (For that
matter, we should probably change the recommended dbtypes from
"mysql5" and "postgres8" to just "mysql" and "postgres").
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1187964/+subscriptions
References