Bug #78179 [Com]: MariaDB 10.3 broke mysqli::begin_transaction()
| From: | duckwebdev at gmail dot com | Date: | Sun, 21 Jul 2019 16:28:11 +0000 |
| Subject: | Bug #78179 [Com]: MariaDB 10.3 broke mysqli::begin_transaction() | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-221878@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=78179&edit=1
ID: 78179
Comment by: duckwebdev at gmail dot com
Reported by: david dot bergeron5 at usherbrooke dot ca
Summary: MariaDB 10.3 broke mysqli::begin_transaction()
Status: Open
Type: Bug
Package: MySQLi related
Operating System: Debian 9
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Same issue even when using two different configurations. It would appear Oracle made their own bug
report and properly fixed their code too: https://bugs.mysql.com/bug.php?id=68187
Configuration 1:
----------------------
MariaDB Version: 10.1.35
PHP version: 7.2.16
OS: CentOS 7
Configuration 2:
----------------------
MariaDB Version: 10.1.37
PHP version: 7.2.12
OS: Win10
Recommendation:
-----------------------
Follow in MariaDB's footsteps and check for the fake version number, then remove if it exists.
See MariaDB's sql-common/client.c: https://github.com/MariaDB/server/commit/c50ee6c23dbeb090963580754bec2f0a96ac0557#diff-5b45fa673c88c06a9651c7906364f592
Previous Comments:
------------------------------------------------------------------------
[2019-06-26 03:11:49] 4275556 at qq dot com
I met the same problem just now.
mariadb 10.4
Centos 7
php5.6
mysqli::begin_transaction(): This server version doesn't support 'READ WRITE' and
'READ ONLY'. Minimum 5.6.5 is required in /data/BPlatform/common/lock/MySqliLock.php on
line 53
it was good before upgrading to mariadb 10.4 (was mysql 5.6)
------------------------------------------------------------------------
[2019-06-18 19:27:49] david dot bergeron5 at usherbrooke dot ca
Description:
------------
MariaDB Version 10.3.15-MariaDB-1:10.3.15+maria~stretch
PHP Version: PHP version: 7.0.33-0+deb9u3
With MariaDB 10.3 they remove the innoDB version reporting.
I think this is due to this issue in MariaDB.
https://jira.mariadb.org/browse/MDEV-16172
So when you do a
$db->begin_transaction(MYSQLI_TRANS_START_READ_WRITE);
You receive a "PHP Warning: mysqli::begin_transaction(): This server version doesn't
support 'READ WRITE' and 'READ ONLY'. Minimum 5.6.5 is required in
/var/www/html/..."
Test script:
---------------
$host="localhost";
$username="username";
$password="password";
$database="yourdatabase";
$db = new mysqli( $host, $username, $password, $database);
$db->begin_transaction(MYSQLI_TRANS_START_READ_WRITE);
Expected result:
----------------
Should not say that this doesn't support 'READ WRITE'.
Actual result:
--------------
PHP Warning: mysqli::begin_transaction(): This server version doesn't support 'READ
WRITE' and 'READ ONLY'. Minimum 5.6.5 is required in /var/www/html/dbtest.php on line
8
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=78179&edit=1