Deprected creation of dynamic property in adodb

Can anyone help - i would hugely appreciate it

i’m using docker on suselinux, doing development with version 7.01

i turned on debug logging and also looked at the default code_type in config/billing (from memory), and I am now getting every screen filled with this message, repeated to fill the screen and more, which makes doing anything, even logging on, impossible.

I do have access to the DB via phpMyadmin, but don’t know what i’m looking for

Deprecated: Creation of dynamic property ADORecordSet_mysqli::$adodbFetchMode is deprecated in /var/www/localhost/htdocs/openemr/vendor/adodb/adodb-php/drivers/adodb-mysqli.inc.php on line 1513

p.s. - i tried to turn off debug logging from the DB but don’t know which table this is set in ? if anyone can tell me i can try this so at least i can log in and use the system

hi @ruth , you can disable deprecated warnings in the php.ini or you can update the adodb composer package

thank you stephen
'fraid i’m stuggling with both of these

  • where is the php.ini file? - is it in docker environment files? I can’t see it in the openemr directories
    or
  • how do i update adodb composer pagage?

Right, php.ini is in the docker so have to log in there and manually edit and restart the docker or you can edit the composer.json and update composer inside of the docker.

I already have version 5.22.5 of adodb in my composer.json - might there be a more uptodate version?

There won’t be a fix from the ado project because this used to be a warning and has now turned into an error.
Eventually it will turn into a hard fail so we need to fix.
The fix is we need to define the server parameter on database init. Currently because it is not set we get this error.
For now the only solution is as Stephen has suggested, ignore deprecated errors in php.ini.

1 Like

thank you both - will try the php.ini file - a good opportunity to improve my docker knowledge and skills!!

1 Like

Learn it well Ruth so then you can help me!:slight_smile:

1 Like

so far no joy

  • i did find a php.ini in openemr/cli/nginx-82 which had a modification time and date about the time i made the config change, i added in not to report the deprecated error messages

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_USER_DEPRECATED

i can also see this file in the docker container, and it has that setting

i then found a php.ini in the docker container at /etc/php82/php.ini which i also changed, still with no joy -

finally i even changed my host sytems /etc/php82/php.ini to include E_USER_DEPRICATED.

it’s 8.15 pm here and i’m tired, i’m not working here tomorrow, but will get back to in on friday, at the worst i’ll have to do a re-install. hey ho

hi @ruth, are you running the easy-dev environment?

yes @stephenwaite - docker/development-easy

ok, have you tried using openemr-cmd?

thank you for the reminder - i’d been using docker commands directly, but openemr-cmd is easier - and i do have it installed and working

ok nice, if you have anything in your test environment you can backup it up with the openemr-cmd capsule management and then update your rel-701 environment and rebuild the dockers since it will have the updated adodb package. Then you can bring your capsule back in…

jerry made the comment below, so will an updated adodb package make any difference? and which is the latest adodb package, as i already had version 5.22.5 installed (i think) - but happy to try this if it might fix the problem.

There won’t be a fix from the ado project because this used to be a warning and has now turned into an error.
Eventually it will turn into a hard fail so we need to fix.
The fix is we need to define the server parameter on database init. Currently because it is not set we get this error.
For now the only solution is as Stephen has suggested, ignore deprecated errors in php.ini.

yes, the updated package fixes the issue

:+1: - will try that - just to confirm is this adodb 5.22.5 ?
many thanks

right, it’s been updated in rel-701 and master.

i keep my master up to date with git : ‘fetch upstream’ and then ‘pull upstream master’ - and use docker-compose up and down - is there more I need to do?