From:  pear-qa@lists.php.net ("me@wolfdogg.org")
Date:  08 Nov 2016 07:19:18 Hong Kong Time
Newsgroup:  news.php.net/php.pear.bugs
Subject:  

[PEAR-BUG] Bug #21145 [Com]: driver error in 5.6

NNTP-Posting-Host:  null

Edit report at https://pear.php.net/bugs/bug.php?id=21145&edit=1

 ID:               21145
 Comment by:       me@wolfdogg.org
 Reported By:      me at wolfdogg dot org
 Summary:          driver error in 5.6
 Status:           Open
 Type:             Bug
 Package:          MDB2
 Operating System:  2.6.32-604.30.3.lve1.3.63.el6.x
 Package Version:  2.5.0b5
 PHP Version:      5.6.27
 Roadmap Versions: 
 New Comment:

so yeah, i realized i could update the driver too, that it was using,
still having problems, but new ones, so it appears its the driver so
far.  you can update that like this (from  linux term that has pear
installed)

 pear install channel://pear.php.net/MDB2_Driver_mysqli-1.5.0b4

not sure if the 4 is necessary at the end of the version.

Now i get reference error, line 11 mdb2.php, which may be my file 


    $this->mdb2 =& MDB2::singleton($connectionString);
    if (PEAR::isError($this->mdb2)) {
       trigger_error($this->mdb2->getMessage(), E_USER_ERROR);
    } 

removing the ampersand reference fixes that error, adjust to this


    $this->mdb2 = MDB2::singleton($connectionString);
    if (PEAR::isError($this->mdb2)) {
       trigger_error($this->mdb2->getMessage(), E_USER_ERROR);
    } 

now im facing this which i seriously recognize, i think i filed that bug
report here long ago(per is error, see below).  ill be checking this
next. 

ERRNO: 8192
TEXT: Non-static method PEAR::isError() should not be called statically,
assuming $this from incompatible context
LOCATION: /home/soldiert/public_html/wolfdogg-org/libs/mdb2.php, line
14, at November 7, 2016, 11:15 pm


Previous Comments:
------------------------------------------------------------------------

[2016-11-07 18:06:51] wolfdogg

Description:
------------
using php 5.6, which is minimum supported for other applications in this

same server, its erroring out the old pear 
mdb2 app.  im using the bleeding edge mdb2 driver, i thought anyway. 

MDB2               2.5.0b5 beta
MDB2_Driver_mysql  1.5.0b4 beta
MDB2_Driver_mysqli 1.4.1   stable

site code works correctly in php 5.4, wont boot on 5.6 right now,
thought 
it would before, but i just switched up the 
extensions, could there be a missing extension instead?.

php 5.6 extensions being used currently
g
imagick
intl
ioncube
json
mbstring
mcrypt
mongo
mysql
mysqli
pdo
pdo_mysql
pdo_sqlite
phar
posix
ssh2

so i slimmed that down to bare minimals.  might i have stripped one 
needed for mdb2 to work in 5.6 env?

 

code sample below, obvious items were obfuscated



Expected result:
----------------
Expected no error switching to 5.6

Actual result:
--------------
db driver error

ERRNO: 2048
TEXT: Declaration of MDB2_Driver_mysqli::setTransactionIsolation() 
should be compatible with 
MDB2_Driver_Common::setTransactionIsolation($isolation, $options = 
Array)
LOCATION: /home//php/MDB2/Driver/mysqli.php, line 1138, at 
November 7, 2016, 10:43 pm
Showing backtrace:
MDB2.loadClass() # line  332, file: /home//php/MDB2.php
MDB2.loadClass("MDB2_Driver_mysqli", false) # line  380, file: 
/home//php/MDB2.php
MDB2.factory("mysqli://:@127.0.0.1/", 
false) # line  472, file: /home//php/MDB2.php
MDB2.singleton("mysqli://:@127.0.0.1/") 
# line   13, file: /home//public_html/site-org/libs/mdb2.php
DbManager.__construct("mysqli://:
@127.0.0.1/")

------------------------------------------------------------------------


-- 
Edit this bug report at https://pear.php.net/bugs/bug.php?id=21145&edit=1